32.9. pyclbr — Python 类浏览器支持 — Python 文档
来自菜鸟教程
Python/docs/2.7/library/pyclbr
32.9. pyclbr — Python 类浏览器支持
pyclbr 模块可用于确定有关模块中定义的类、方法和顶级函数的一些有限信息。 提供的信息足以实现传统的三窗格类浏览器。 信息是从源代码中提取的,而不是通过导入模块来提取的,因此该模块可以安全地用于不受信任的代码。 此限制使得无法将此模块与未在 Python 中实现的模块一起使用,包括所有标准和可选的扩展模块。
- pyclbr.readmodule(module, path=None)
- 读取一个模块并返回一个将类名映射到类描述符对象的字典。 参数 module 应该是模块名称作为字符串; 它可能是包中模块的名称。 path参数应该是一个序列,用于增加
sys.path
的值,用于定位模块源代码。
- pyclbr.readmodule_ex(module, path=None)
- 和readmodule()一样,但是返回的字典除了将类名映射到类描述符对象外,还将顶层函数名映射到函数描述符对象。 此外,如果正在读取的模块是一个包,则返回字典中的键
'__path__'
将包含一个包含包搜索路径的列表作为其值。
32.9.1. 类对象
在 readmodule() 和 readmodule_ex() 返回的字典中用作值的 Class
对象提供以下数据属性:
- Class.module
- 定义类描述符所描述的类的模块的名称。
- Class.name
- 班级名称。
- Class.super
Class
对象列表,用于描述所描述类的直接基类。 被命名为超类但不能被 readmodule() 发现的类被列为带有类名的字符串,而不是Class
对象。
- Class.methods
- 字典映射方法名称到行号。
- Class.file
- 包含定义类的
class
语句的文件的名称。
- Class.lineno
- 由 file 命名的文件中
class
语句的行号。
32.9.2. 函数对象
在 readmodule_ex() 返回的字典中用作值的 Function
对象提供以下属性:
- Function.module
- 定义函数描述符所描述的函数的模块的名称。
- Function.name
- 函数的名称。
- Function.file
- 包含定义函数的
def
语句的文件的名称。
- Function.lineno
- 由 file 命名的文件中
def
语句的行号。