On this page
pyclbr — Python 模块浏览器支持
源代码: Lib/pyclbr.py
pyclbr模块提供有关 Python 编码模块中定义的函数,类和方法的有限信息。该信息足以实现模块浏览器。该信息是从 Python 源代码中提取的,而不是pass导入模块来提取的,因此该模块可以安全地用于不受信任的代码。此限制使得无法将此模块与未在 Python 中实现的模块一起使用,包括所有标准和可选扩展模块。
pyclbr.
readmodule
(* module , path = None *)- 返回将模块级类名称 Map 到类 Descriptors 的字典。如果可能,将包括导入的 Base Class 的 Descriptors。参数* module 是一个字符串,其中包含要读取的模块的名称;它可能是包中模块的名称。如果给定, path *是前缀为
sys.path
的目录路径序列,用于查找模块源代码。
- 返回将模块级类名称 Map 到类 Descriptors 的字典。如果可能,将包括导入的 Base Class 的 Descriptors。参数* module 是一个字符串,其中包含要读取的模块的名称;它可能是包中模块的名称。如果给定, path *是前缀为
此Function是原始接口,仅保留用于向后兼容。它返回以下内容的过滤版本。
pyclbr.
readmodule_ex
(* module , path = None *)- 返回一个基于字典的树,其中包含使用
def
或class
语句在模块中定义的每个函数和类的函数或类 Descriptors。返回的字典将模块级函数和类名称 Map 到其 Descriptors。嵌套对象被 Importing 到其父级的子级字典中。与 readmodule 一样,* module 命名要读取的模块,而 path *放在 sys.path 之前。如果正在读取的模块是软件包,则返回的字典具有键'__path__'
,其值是包含软件包搜索路径的列表。
- 返回一个基于字典的树,其中包含使用
3.7 版中的新Function:嵌套定义的 Descriptors。可pass new children 属性访问它们。每个都有一个新的父属性。
这些函数返回的 Descriptors 是 Function 和 Class 类的实例。不应要求用户创建这些类的实例。
Function Objects
Function
类实例描述 def 语句定义的Function。它们具有以下属性:
Function.
file
- 定义Function的文件的名称。
Function.
module
- 定义所描述Function的模块名称。
Function.
name
- 函数的名称。
Function.
lineno
- 定义开始的文件中的行号。
Function.
parent
- 对于顶级Function,无。对于嵌套函数,父级。
3.7 版中的新Function。
Function.
children
- 字典将名称 Map 到嵌套函数和类的 Descriptors。
3.7 版中的新Function。
Class Objects
Class
类实例描述了由类语句定义的类。它们具有与“函数”相同的属性,另外还有两个。
Class.
file
- 定义类的文件的名称。
Class.
module
- 定义所描述类的模块的名称。
Class.
name
- 类的名称。
Class.
lineno
- 定义开始的文件中的行号。
Class.
parent
- 对于顶级类,无。对于嵌套类,父级。
3.7 版中的新Function。
Class.
children
- 字典将名称 Map 到嵌套函数和类的 Descriptors。
3.7 版中的新Function。
Class.
super
Class
个对象的列表,这些对象描述了所描述类的直接 Base Class。被命名为超类但不能被readmodule_ex()发现的类被列为带有类名的字符串,而不是Class
对象。
Class.
methods
- 字典将方法名称 Map 到行号。这可以从较新的 child 词典中获得,但仍保留用于向后兼容。