Python/C API 全面解析
1. 高层接口
在Python/C API中,有一些高层接口函数,它们能让你执行文件或缓冲区中的Python源代码,但无法让你与解释器进行更详细的交互。部分函数会接受语法中的起始符号作为参数,可用的起始符号有 Py_eval_input
、 Py_file_input
和 Py_single_input
。
以下是一些重要的函数:
- int PyRun_AnyFile(FILE *fp, char *filename)
:若 fp
指向与交互式设备相关联的文件,返回 PyRun_InteractiveLoop()
的值;否则返回 PyRun_SimpleFile()
的结果。若 filename
为 NULL
,则使用“???”作为文件名。
- int PyRun_SimpleString(char *command)
:在 __main__
模块中执行 command
中的Python源代码。若 __main__
模块不存在,则创建它。执行成功返回0,引发异常返回 -1。
- int PyRun_SimpleFile(FILE *fp, char *filename)
:与 PyRun_SimpleStr