在C中运行并获取python程序的结果

时间:2017-03-24 10:49:46

标签: python c python-2.7 system-calls

python脚本包含许多导入的库

到目前为止我的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脚本数量的任何修改增加了相同的代码可以使用几乎没有变化?

我可以使用系统调用并使用从中获得的结果吗?

2 个答案:

答案 0 :(得分:1)

一种有用的方法是在c中调用python函数,这是你需要的,而不是执行整个脚本。

如上所述 >> here

答案 1 :(得分:0)

你可以这样做来从C程序中调用python文件:

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

system(command);

这段代码对我有用......

我没有使用# include < python2.7/Python.h>

您可以将python文件中的结果写入任何文本文件,然后使用存储在文本文件中的结果执行您想要执行的操作...

您还可以查看此帖子以获取进一步的帮助:

Calling python script from C++ and using its output