我正在尝试从嵌入式 Python C API 模拟 code.InteractiveInterpreter
。我正在使用 PyEval_Evalcode
来评估用户输入。我正在尝试评估解释器中的用户输入并将输出作为字符串返回(就像解释器一样)。但是,PyEval_Evalcode
返回包装在 PyObject*
中的多种数据类型。有什么办法可以做我想做的事吗?
约束:需要使用嵌入 api 来完成。无法使用 PyRun_RunSimpleString()
并放置一个 code.InteractiveInterpreter
来完成。
最佳答案
可以使用 PyObject_Repr() 或 PyObject_Str() 将 PyEval_Evalcode() 返回的对象转换为 Python 字符串。可以使用 PyString_AsString() 将生成的 Python 字符串转换为常规 C 字符串。
关于python - 从 CAPI 评估 Python 代码并获得输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7860958/