Coroutine Objects 版本3.5中的新功能 协程对象是用asynckeywordreturn. PyCoroObject 用于协程对象的C结构. PyTypeObject PyCoro_Type 与协程对象对应的类型对​​象. int PyCoro_CheckExact(的PyObject  *ob) 如果ob的类型是PyCoro_Type;ob必须不 NULL. PyObject * PyCoro_New(PyFrameObject  *frame,PyObject  *name,PyObject  *qualname) Return value: New reference.

生成器对象 生成器对象是Python用来实现生成器迭代器的对象。它们通常是通过迭代产生值的函数来创建的,而不是明确地调用PyGen_New()或PyGen_NewWithQualName(). PyGenObject 用于生成器对象的C结构. PyTypeObject PyGen_Type 对应于生成器对象的类型对象. int PyGen_Check( PyObject  *ob) 如果ob是一个发电机对象;ob必须不 NULL. int PyGen_CheckExact(的PyObject  *ob) 如果ob的类型是PyGen_Type;ob必须不 NULL. PyObject * PyG

胶囊 参考为扩展模块提供C API 有关使用这些物体的更多信息. 版本3.1. PyCapsule 这个 的子类型PyObject表示一个不透明的值,对于需要传递不透明值的Cextension模块很有用(作为void*指针)通过Python代码到其他C代码。它通常用于使一个模块中定义的Cfunction指针可用于其他模块,因此可以使用通常的导入机制来访问动态加载的模块中定义的C API。 PyCapsule_Destructor 胶囊的析构函数回调的类型。定义为: typedef void (*PyCapsule_Destructor)(PyObject *); 请参阅PyCapsule_Ne

模块对象   PyTypeObject PyModule_Type PyTypeObject的这个实例表示Python模块类型。这是暴露于Python程序types.ModuleType. int PyModule_Check( PyObject  *p) 如果p是模块对象,或模块对象的子类型. int PyModule_CheckExact( PyObject  *p) 如果是,则返回truep是一个模块对象,但不是PyModule_Type. PyObject * PyModule_NewObject的子类型( PyObject  *name) Return value: New

文件对象 这些API是内置文件对象的Python 2 C API的最小仿真,它过去依赖于C标准库的缓冲I / O(FILE*)支持。在Python 3中,文件和流使用新的io模块,该模块在操作系统的低级unbufferedI / O上定义了几个层。下面描述的函数是针对这些新API的便捷C包装器,主要用于解释器中的内部错误报告;建议第三方代码访问io API . PyFile_FromFd (int fd,const char  *name,const char  *mode,int  buffering,const char  *encoding,const char  *errors,con

4.构建C和C ++扩展 CPython的AC扩展是一个共享库(例如Linux上的.so文件,Windows上的.pyd),它导出initialization function. 要导入,共享库必须在PYTHONPATH上可用,并且必须以模块名称命名,并带有适当的扩展名。使用distutils时,会自动生成正确的文件名. 初始化函数有签名: PyObject * PyInit_modulename( void ) 它返回一个完全 -初始化模块,或PyModuleDef实例。参见初始化C模块了解详情. 对于只有ASCII名称的模块,该函数必须命名为PyInit_<modulename&gt

pwd– 密码数据库 此模块提供对Unix用户帐户和密码数据库的访问。它适用于所有Unix版本. 密码数据库条目被报告为类似元组的对象,其属性对应于passwd结构的成员(下面的属性字段,请参阅<pwd.h>): 索引 属性 含义 0 pw_name 登录名 1 pw_passwd 可选加密密码 2 pw_uid 数字用户ID 3 pw_gid 数字组ID 4 pw_gecos 用户名或注释字段 5 pw_dir 用户主目录 6 pw_shell 用户命令解释器 uid和gid项是整数,其他所有都是字符串。KeyError如果要求的条目无法找到则 注意 在传统的Unix

winreg– Windows注册表访问 这些函数将Windows注册表API公开给Python。而不是使用aninteger作为注册表句柄,句柄对象用于确保句柄正确关闭,即使程序员忽略明确关闭它们. 更改在版本3.3:这个模块中的几个函数用于引发WindowsError,现在是OSError.   别名 这个模块提供以下内容functions: winreg.CloseKey(hkey) 关闭以前打开的注册表项。hkey参数指定一个以前打开的键. 注意 如果hkey没有用这种方法关闭(或通过hkey.Close()),当hkey对象被Python破坏时它被关闭 winr

symbol– 与Python解析树一起使用的常量 源代码: Lib / symbol.py 此模块提供表示解析树内部节点数值的常量。与大多数Python常量不同,它们使用小写字母。请参阅Python发行版中的文件Grammar/Grammar,以了解语言语法上下文中名称的定义。名称映射到的特定数值可能会在Pythonversions之间发生变化. 该模块还提供了一个额外的数据对象: symbol.sym_name 将此模块中定义的常量的数值映射到名称字符串,允许生成更加人类可读的解析树表示.

runpy– 找到并执行Python模块 源代码: Lib / runpy.py runpymodule用于定位和运行Python模块,首先使用它们。它的主要用途是实现-m命令行开关,允许使用Python模块命名空间而不是文件系统定位脚本. 注意这是not沙盒模块 – 所有代码都在当前进程中执行,任何副作用(如其他模块的缓存导入)将在函数返回后保留在原位. 此外,执行代码定义的任何函数和类都不能保证在runpy函数返回后正常工作。如果对于给定的用例不能接受该限制,importlib可能是比这个模块更合适的选择. runpy模块提供两个功能: runpy.run_modu