mirror of
https://github.com/python/cpython.git
synced 2024-12-11 18:53:56 +08:00
103 lines
3.7 KiB
TeX
103 lines
3.7 KiB
TeX
\section{\module{pyclbr} ---
|
|
Python class browser support}
|
|
|
|
\declaremodule{standard}{pyclbr}
|
|
\modulesynopsis{Supports information extraction for a Python class
|
|
browser.}
|
|
\sectionauthor{Fred L. Drake, Jr.}{fdrake@acm.org}
|
|
|
|
|
|
The \module{pyclbr} can be used to determine some limited information
|
|
about the classes, methods and top-level functions
|
|
defined in a module. The information
|
|
provided is sufficient to implement a traditional three-pane class
|
|
browser. The information is extracted from the source code rather
|
|
than by importing the module, so this module is safe to use with
|
|
untrusted source code. This restriction makes it impossible to use
|
|
this module with modules not implemented in Python, including many
|
|
standard and optional extension modules.
|
|
|
|
|
|
\begin{funcdesc}{readmodule}{module\optional{, path}}
|
|
% The 'inpackage' parameter appears to be for internal use only....
|
|
Read a module and return a dictionary mapping class names to class
|
|
descriptor objects. The parameter \var{module} should be the name
|
|
of a module as a string; it may be the name of a module within a
|
|
package. The \var{path} parameter should be a sequence, and is used
|
|
to augment the value of \code{sys.path}, which is used to locate
|
|
module source code.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{readmodule_ex}{module\optional{, path}}
|
|
% The 'inpackage' parameter appears to be for internal use only....
|
|
Like \function{readmodule()}, but the returned dictionary, in addition
|
|
to mapping class names to class descriptor objects, also maps
|
|
top-level function names to function descriptor objects. Moreover, if
|
|
the module being read is a package, the key \code{'__path__'} in the
|
|
returned dictionary has as its value a list which contains the package
|
|
search path.
|
|
\end{funcdesc}
|
|
|
|
|
|
\subsection{Class Descriptor Objects \label{pyclbr-class-objects}}
|
|
|
|
The class descriptor objects used as values in the dictionary returned
|
|
by \function{readmodule()} and \function{readmodule_ex()}
|
|
provide the following data members:
|
|
|
|
|
|
\begin{memberdesc}[class descriptor]{module}
|
|
The name of the module defining the class described by the class
|
|
descriptor.
|
|
\end{memberdesc}
|
|
|
|
\begin{memberdesc}[class descriptor]{name}
|
|
The name of the class.
|
|
\end{memberdesc}
|
|
|
|
\begin{memberdesc}[class descriptor]{super}
|
|
A list of class descriptors which describe the immediate base
|
|
classes of the class being described. Classes which are named as
|
|
superclasses but which are not discoverable by
|
|
\function{readmodule()} are listed as a string with the class name
|
|
instead of class descriptors.
|
|
\end{memberdesc}
|
|
|
|
\begin{memberdesc}[class descriptor]{methods}
|
|
A dictionary mapping method names to line numbers.
|
|
\end{memberdesc}
|
|
|
|
\begin{memberdesc}[class descriptor]{file}
|
|
Name of the file containing the \code{class} statement defining the class.
|
|
\end{memberdesc}
|
|
|
|
\begin{memberdesc}[class descriptor]{lineno}
|
|
The line number of the \code{class} statement within the file named by
|
|
\member{file}.
|
|
\end{memberdesc}
|
|
|
|
\subsection{Function Descriptor Objects \label{pyclbr-function-objects}}
|
|
|
|
The function descriptor objects used as values in the dictionary returned
|
|
by \function{readmodule_ex()} provide the following data members:
|
|
|
|
|
|
\begin{memberdesc}[function descriptor]{module}
|
|
The name of the module defining the function described by the function
|
|
descriptor.
|
|
\end{memberdesc}
|
|
|
|
\begin{memberdesc}[function descriptor]{name}
|
|
The name of the function.
|
|
\end{memberdesc}
|
|
|
|
\begin{memberdesc}[function descriptor]{file}
|
|
Name of the file containing the \code{def} statement defining the function.
|
|
\end{memberdesc}
|
|
|
|
\begin{memberdesc}[function descriptor]{lineno}
|
|
The line number of the \code{def} statement within the file named by
|
|
\member{file}.
|
|
\end{memberdesc}
|
|
|