Py_Initialize();
PyObject* code = Py_CompileString(text, "(text)", Py_single_input);
if (!code) {
PyErr_Print();
return;
}
不会产生任何文字。我知道有sys.stderror
但除了创建回调和自定义函数之外,还有其他更简单的方法吗?
答案 0 :(得分:1)
终于发现了这个:
PyObject *ptype, *pvalue, *ptraceback;
PyErr_Fetch(&ptype, &pvalue, &ptraceback);
PyObject* utf = PyUnicode_AsUTF8String(pvalue);
Assert(utf);
char* buffer = PyBytes_AsString(utf);