pyclbr --- Python 模块浏览器支持¶
源代码: Lib/pyclbr.py
The pyclbr module provides limited information about the
functions, classes, and methods defined in a Python-coded module. The
information is sufficient to implement a module browser. The
information is extracted from the Python source code rather than by
importing the module, so this module is safe to use with untrusted code.
This restriction makes it impossible to use this module with modules not
implemented in Python, including all standard and optional extension
modules.
- pyclbr.readmodule(module, path=None)¶
返回一个将模块层级的类名映射到类描述器的字典。 如果可能,将会包括已导入基类的描述器。 形参 module 为要读取模块名称的字符串;它可能是某个包内部的模块名称。 path 如果给出则为添加到
sys.path开头的目录路径序列,它会被用于定位模块的源代码。此函数为原始接口,仅保留用于向下兼容。 它会返回以下内容的过滤版本。
- pyclbr.readmodule_ex(module, path=None)¶
返回一个基于字典的树,其中包含与模块中每个用
def或class语句定义的函数和类相对应的函数和类描述器。 被返回的字典会将模块层级的函数和类名映射到它们的描述器。 嵌套的对象会被输入到它们的上级子目录中。 与 readmodule 一样,module 指明要读取的模块而 path 会被添加到 sys.path。 如果被读取的模块是一个包,则返回的字典将具有'__path__'键,其值是一个包含包搜索路径的列表。
Added in version 3.7: 嵌套定义的描述器。 它们通过新的子属性来访问。 每个定义都会有一个新的上级属性。
这些函数所返回的描述器是 Function 和 Class 类的实例。 用户不应自行创建这些类的实例。
Function 对象¶
Class 对象¶
- class pyclbr.Class¶
Class类的实例描述了由 class 语句所定义的类。 它们具有与Function相同的属性以及两个额外属性。- file¶
类定义所在的文件名称。
- module¶
定义了所描述类的模块名称。
- name¶
类名称。
- lineno¶
定义在文件中起始位置的行号。
- parent¶
对于最高层级类为
None。 对于嵌套的类则为上级类。Added in version 3.7.
- children¶
将名称映射到嵌套函数和类描述器的字典。
Added in version 3.7.
- super¶
一个由
Class对象组成的列表,这些对象描述了相应类的直接基类。 被指定为超类但无法被readmodule_ex()发现的类会作为类名字符串而非Class对象列出。