2017-03-24 56 views
-2
Python程序的獲取結果

的Python腳本包含了許多庫的進口運行和使用C

我的C代碼至今:

#include <stdio.h> 
#include <python2.7/Python.h> 

void main(int argc, char *argv[]) 
{  
    FILE* file; 

    Py_SetProgramName(argv[0]); 
    Py_Initialize();  
    PySys_SetArgv(argc, argv); 

    file = fopen("analyze.py","r"); 

    PyRun_SimpleFile(file, "analyze.py"); 
    Py_Finalize();      

    return; 
} 

有沒有我可以使用,這樣即使其他任何方式如果在C程序中調用的參數或一些python腳本的任何修改增加相同的代碼可以使用很少的變化?

我可以使用系統調用並使用從中獲得的結果嗎?

+0

描述請編輯您的問題並解決代碼格式化。 – Lundin

+0

試着看看你自己的帖子幾秒鐘,你應該能夠告訴......哦,我會爲你修復它。 – Lundin

+0

1)將代碼粘貼到帖子中2)當它被標記時,點擊代碼格式圖標'{}'。這將爲代碼提供正確的語法着色並將字體更改爲Courier。 – Lundin

回答

0

你可以像這樣來調用C程序的Python文件:

char command[50] = "python full_path_name\\file_name.py";

system(command);

這段代碼工作對我來說...

我沒有」 t使用# include < python2.7/Python.h>

您可以將結果從python文件寫入任何文本文件然後使用存儲在文本文件中做任何你想做的結果...

您也可以看看這個帖子以獲得更多幫助:

Calling python script from C++ and using its output

+0

這不是一個解決方案。只是一個解決方法。 – obayhan

+0

嘗試在python腳本的開頭使用'#!usr/bin/python' – Siladittya

+0

我沒有使用版本...我使用python 2.7 ...並且這對我有用 – Siladittya

1

一個有用的方法是在c中調用一個python函數,而不是執行整個腳本。

正如 >> here