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