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