c++中使用python子解释器实例
时间: 2023-09-08 11:09:27 浏览: 203
在C语言中使用Python子解释器实例需要引入Python.h头文件,然后使用Py_Initialize()函数初始化Python解释器,并使用PyRun_SimpleString()函数执行Python代码。下面是一个简单的示例:
```c
#include <Python.h>
int main(int argc, char *argv[]) {
Py_Initialize();
// 创建一个Python子解释器实例
PyObject *pModule = PyImport_AddModule("__main__");
PyObject *pDict = PyModule_GetDict(pModule);
// 执行Python代码
PyRun_SimpleString("a = 10\nprint('a =', a)");
// 获取Python变量
PyObject *pValue = PyDict_GetItemString(pDict, "a");
if (pValue) {
printf("a = %ld\n", PyLong_AsLong(pValue));
}
Py_Finalize();
return 0;
}
```
在上面的代码中,我们首先使用Py_Initialize()函数初始化Python解释器。然后,使用PyImport_AddModule("__main__")函数创建一个Python子解释器实例,使用PyModule_GetDict()函数获取该实例的字典。接着,使用PyRun_SimpleString()函数执行Python代码。最后,使用PyDict_GetItemString()函数获取Python变量a的值,并使用PyLong_AsLong()函数将其转换为长整型输出。最后,使用Py_Finalize()函数关闭Python解释器。
阅读全文