- pyclbr —- Python class browser support
- 函数对象
- 类对象
pyclbr —- Python class browser support
Source code:Lib/pyclbr.py
The pyclbr
module provides limited information about thefunctions, classes, and methods defined in a Python-coded module. Theinformation is sufficient to implement a module browser. Theinformation is extracted from the Python source code rather than byimporting the module, so this module is safe to use with untrusted code.This restriction makes it impossible to use this module with modules notimplemented in Python, including all standard and optional extensionmodules.
pyclbr.
readmodule
(module, path=None)Return a dictionary mapping module-level class names to classdescriptors. If possible, descriptors for imported base classes areincluded. Parameter module is a string with the name of the moduleto read; it may be the name of a module within a package. If given,path is a sequence of directory paths prepended to
sys.path
,which is used to locate the module source code.pyclbr.
readmoduleex
(_module, path=None)- Return a dictionary-based tree containing a function or classdescriptors for each function and class defined in the module with a
def
orclass
statement. The returned dictionary mapsmodule-level function and class names to their descriptors. Nestedobjects are entered into the children dictionary of their parent. Aswith readmodule, module names the module to be read and path isprepended to sys.path. If the module being read is a package, thereturned dictionary has a key'path'
whose value is a listcontaining the package search path.
3.7 新版功能: Descriptors for nested definitions. They are accessed through thenew children attribute. Each has a new parent attribute.
The descriptors returned by these functions are instances ofFunction and Class classes. Users are not expected to create instancesof these classes.
函数对象
Class Function
instances describe functions defined by defstatements. They have the following attributes:
Function.
file
Name of the file in which the function is defined.
Function.
module
The name of the module defining the function described.
Function.
name
The name of the function.
Function.
lineno
The line number in the file where the definition starts.
Function.
parent
- For top-level functions, None. For nested functions, the parent.
3.7 新版功能.
Function.
children
- A dictionary mapping names to descriptors for nested functions andclasses.
3.7 新版功能.
类对象
Class Class
instances describe classes defined by classstatements. They have the same attributes as Functions and two more.
Class.
file
Name of the file in which the class is defined.
Class.
module
The name of the module defining the class described.
Class.
name
The name of the class.
Class.
lineno
The line number in the file where the definition starts.
Class.
parent
- For top-level classes, None. For nested classes, the parent.
3.7 新版功能.
Class.
children
- A dictionary mapping names to descriptors for nested functions andclasses.
3.7 新版功能.
Class.
super
A list of
Class
objects which describe the immediate baseclasses of the class being described. Classes which are named assuperclasses but which are not discoverable byreadmodule_ex()
are listed as a string with the class name instead of asClass
objects.Class.
methods
- A dictionary mapping method names to line numbers. This can bederived from the newer children dictionary, but remains forback-compatibility.