【发布时间】:2017-03-25 21:40:07
【问题描述】:
我正在尝试从字符串创建 Python 函数并执行它。我只是无法弄清楚如何正确执行它。我写的代码没有返回我期望的值,而是一个类型为_PY_NoneStruct 的对象。
string code =
R"(
def test():
return 'hi';
)";
Py_Initialize();
auto main = PyImport_AddModule((char*)"__main__");
auto dict = PyModule_GetDict(main);
auto compiled = Py_CompileString(code.c_str(), "not a file", Py_single_input);
auto func = PyFunction_New(compiled, dict);
auto result = PyObject_CallObject(func, NULL);
这段代码sn -p zu 执行成功需要修改什么?
提前谢谢你。
【问题讨论】:
-
建议:Python C-Extension 非常混乱。了解如何使用
ctypes。
标签: python c++ python-3.x python-c-api python-c-extension