c调用python脚本如何获取结果_C/C++ 调用Python
时间: 2023-12-30 13:03:15 浏览: 176
可以使用Python的C API来在C/C++中调用Python脚本并获取结果。下面是一个简单的示例代码:
```c++
#include <Python.h>
int main() {
Py_Initialize();
// 导入Python脚本
PyObject* pModule = PyImport_ImportModule("example");
// 获取Python函数对象
PyObject* pFunc = PyObject_GetAttrString(pModule, "add");
// 构造函数参数并调用Python函数
PyObject* pArgs = PyTuple_New(2);
PyTuple_SetItem(pArgs, 0, PyLong_FromLong(2));
PyTuple_SetItem(pArgs, 1, PyLong_FromLong(3));
PyObject* pResult = PyObject_CallObject(pFunc, pArgs);
// 从Python对象中获取函数返回值
long result = PyLong_AsLong(pResult);
// 释放内存
Py_DECREF(pModule);
Py_DECREF(pFunc);
Py_DECREF(pArgs);
Py_DECREF(pResult);
Py_Finalize();
return 0;
}
```
在上面的示例代码中,我们首先使用`Py_Initialize()`函数初始化Python解释器,然后导入Python脚本并获取其中的函数对象。接着,我们构造函数参数并调用Python函数,最后从Python对象中获取函数返回值。最后,我们使用`Py_DECREF()`函数释放内存,并使用`Py_Finalize()`函数关闭Python解释器。
如果你需要获取更详细的信息,请参考Python的C API文档。
阅读全文