从c ++执行.py文件

时间:2015-02-03 14:14:33

标签: python c++

我正在使用c ++。我需要执行条件为

的python脚本
int main()
{
    if(op==1)
    {
        RUN("MUL.py"); // execute MUL.py script
    }
    else
    {
        RUN("DIV.py"); // execute DIV.py script
    }

    return 0;
}

我可以这样做:

Py_Initialize();
PyRun_SimpleString(code);
Py_Finalize();

在这里,我必须创建一个字符串。然后我需要跑。

但是,我不想这样做。我已经有了一个.py文件。我需要运行该文件。

类似于:py_run(MUL.py)

我的python代码会为我做一些大的计算。这将把答案写在一个文件中。我将在我的c ++代码中从该文件中读取该答案。

我该怎么做?

1 个答案:

答案 0 :(得分:6)

PyRun_SimpleFile函数系列。例如:

FILE *fd = fopen("MUL.py", "r");
PyRun_SimpleFileEx(fd, "MUL.py", 1); // last parameter == 1 means to close the
                                     // file before returning.

另请参阅documentation