如何在c ++代码中调用python脚本?

时间:2014-03-24 07:16:40

标签: python c++

在我的C++应用程序中,我想调用Python脚本来执行一些处理工作。我在谷歌搜索过,发现有两种方法可以做到这一点:

    (1). use the `system` command. Just like this, `system('python myscript.py');`
    (2). use the `PyRun_SimpleString("execfile('myscript.py')");`

我想问一下,哪种方式更好,有没有更好的方法来完成这项工作?

感谢。

2 个答案:

答案 0 :(得分:2)

  

我想问一下,哪种方式更好,有没有更好的方法来完成这项工作?

您应该注意到python引擎是用C语言编写的,因此提供了native C-API。这允许您通过调用函数和使用python对象更直接地与python代码进行交互。

如果您想在不使用C-API的情况下将其与C ++代码集成,那么它就是优秀且易于使用的boost::python库。

答案 1 :(得分:1)

我认为boost提供了库来做到这一点。但我从未使用它们。 http://www.boost.org/doc/libs/1_55_0/libs/python/doc/