c++里面调用python
时间: 2023-10-01 12:10:29 浏览: 112
在C++中调用Python,可以使用Python的C/C++ API。这个API提供了一些函数和宏,可以在C++中加载Python解释器,执行Python脚本,调用Python函数等。下面是一个简单的例子:
```c++
#include <Python.h>
int main()
{
Py_Initialize(); // 初始化Python解释器
// 执行Python代码
PyRun_SimpleString("print('Hello, Python!')");
// 调用Python函数
PyObject* pModule = PyImport_ImportModule("mymodule");
PyObject* pFunc = PyObject_GetAttrString(pModule, "myfunc");
PyObject* pArgs = PyTuple_New(2);
PyTuple_SetItem(pArgs, 0, PyLong_FromLong(1));
PyTuple_SetItem(pArgs, 1, PyLong_FromLong(2));
PyObject* pResult = PyObject_CallObject(pFunc, pArgs);
int result = PyLong_AsLong(pResult);
printf("Result: %d\n", result);
Py_Finalize(); // 关闭Python解释器
return 0;
}
```
在上面的例子中,我们首先调用Py_Initialize()函数来初始化Python解释器。然后使用PyRun_SimpleString()函数执行Python代码。接着,我们加载一个Python模块,并从中获取一个函数对象,然后创建一些Python对象作为函数的参数,最后调用函数并获取结果。最后,我们调用Py_Finalize()函数来关闭Python解释器。
需要注意的是,这个例子假定我们有一个名为mymodule的Python模块,其中包含一个名为myfunc的函数,该函数接受两个整数参数并返回它们的和。
阅读全文