Содержание страницы
30.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__' в возвращаемом словаре содержит в качестве значения список с путём поиска пакета.
30.9.1. Объекты классов¶Class Objects
Объекты Class, используемые в качестве значений в словаре, возвращаемом readmodule() и readmodule_ex(), предоставляют следующие атрибуты данных:
- Class.module¶
Имя модуля, определяющего класс, описываемый дескриптором класса.
- Class.name¶
Имя класса.
- Class.super¶
Список объектов Class, описывающих непосредственные базовые классы описываемого класса. Классы, которые указаны как суперклассы, но не обнаружены readmodule(), перечисляются в виде строки с именем класса вместо объектов Class.
- Class.methods¶
Словарь, отображающий имена методов в номера строк.
- Class.file¶
Имя файла, содержащего оператор class, определяющий класс.
30.9.2. Объекты функций¶Function Objects
Объекты Function, используемые в качестве значений в словаре, возвращаемом readmodule_ex(), предоставляют следующие атрибуты:
- Function.module¶
Имя модуля, определяющего функцию, описываемую дескриптором функции.
- Function.name¶
Имя функции.
- Function.file¶
Имя файла, содержащего оператор def, определяющий функцию.