c++调用写在xml文件中的python脚本
发布网友
发布时间:2022-09-01 01:18
我来回答
共2个回答
热心网友
时间:2024-08-21 09:21
参考我下面的代码, 我是直接把python代码写在 code 变量里,你应该将 xml 文件读取后,掐头去尾留下中间的python代码存在某个字符串数组里,然后用 Python API 去处理这段代码。
另外,我是新建了一个空的mole (testonly),在这个mole的namespace中执行代码。在你的代码中,根据自己的情况可以考虑用 __main__ 或者其他你已有的mole。
#include <Python.h>
#include <stdio.h>
const char* code =
"def test(a):\n\
print 'Input', a\n\
return a+12";
int main()
{
int ret;
Py_Initialize();
PyObject *pMole = PyMole_New("testonly");
PyObject *pDict = PyMole_GetDict(pMole);
PyObject *pObj = PyRun_String(code, Py_file_input, pDict, pDict);
PyObject *pFunc = PyObject_GetAttrString(pMole, "test");
PyObject *pValue = Py_BuildValue("(i)", 100);
PyObject *pResult = PyObject_CallObject(pFunc, pValue);
PyArg_Parse(pResult, "i", &ret);
Py_Finalize();
printf("Result is %d\n", ret);
return 0;
}
热心网友
时间:2024-08-21 09:21
这有啥。。。。用xml parser把节点parse出来,该怎么处理怎么处理啊追问把节点解析出来,读取到一串字符串。我想取到返回值,你说该怎么处理。