Содержание страницы
32.9. pyclbr – Поддержка обозревателя классов Python¶pyclbr – Python class browser support
Исходный код: Lib/pyclbr.py
Модуль pyclbr можно использовать для получения некоторой ограниченной информации о классах, методах и функциях верхнего уровня, определённых в модуле. Предоставляемой информации достаточно для реализации традиционного трёхпанельного браузера классов. Информация извлекается из исходного кода, а не путём импорта модуля, поэтому этот модуль безопасно использовать с недоверенным кодом. Это ограничение делает невозможным использование этого модуля с модулями, не реализованными на Python, включая все стандартные и опциональные модули расширения.
-
pyclbr.readmodule(module, path=None)¶ Читает модуль и возвращает словарь, отображающий имена классов в объекты-дескрипторы классов. Параметр module должен быть именем модуля в виде строки; это может быть имя модуля внутри пакета. Параметр path должен быть последовательностью и используется для дополнения значения
sys.path, которое используется для поиска исходного кода модуля.
-
pyclbr.readmodule_ex(module, path=None)¶ Как и
readmodule(), но возвращаемый словарь, помимо отображения имён классов в объекты-дескрипторы классов, также отображает имена функций верхнего уровня в объекты-дескрипторы функций. Более того, если читаемый модуль является пакетом, ключ'__path__'в возвращаемом словаре содержит в качестве значения список с путём поиска пакета.
32.9.1. Объекты классов¶Class Objects
Объекты Class, используемые как значения в словаре, возвращаемом readmodule() и readmodule_ex(), предоставляют следующие атрибуты данных:
-
Class.module¶ Имя модуля, определяющего класс, описываемый дескриптором класса.
-
Class.name¶ Имя класса.
-
Class.super¶ Список объектов
Class, описывающих непосредственные базовые классы описываемого класса. Классы, которые названы как суперклассы, но не обнаруживаются с помощьюreadmodule(), перечисляются в виде строки с именем класса вместо объектовClass.
-
Class.methods¶ Словарь, отображающий имена методов в номера строк.
-
Class.file¶ Имя файла, содержащего оператор
class, определяющий класс.
32.9.2. Объекты функций¶Function Objects
Объекты Function, используемые как значения в словаре, возвращаемом readmodule_ex(), предоставляют следующие атрибуты:
-
Function.module¶ Имя модуля, определяющего функцию, описываемую дескриптором функции.
-
Function.name¶ Имя функции.
-
Function.file¶ Имя файла, содержащего оператор
def, определяющий функцию.