pyclbr — Поддержка просмотра классов Python
Исходный код: 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, используемые в качестве значений в словаре, возвращаемом readmodule() и readmodule_ex(), предоставляют следующие атрибуты данных:
-
Class.module -
Имя модуля, определяющего класс, описываемый дескриптором класса.
-
Class.name -
Имя класса.
-
Class.super -
Список объектов
Class, описывающих непосредственные базовые классы описываемого класса. Классы, которые названы в качестве суперклассов, но которые не могут быть обнаруженыreadmodule(), перечислены как строка с именем класса вместо объектовClass.
-
Class.methods -
Словарь, сопоставляющий имена методов с номерами строк.
-
Class.file -
Имя файла, содержащего инструкцию
class, определяющую класс.
-
Class.lineno -
Номер строки инструкции
classв файле, имя которого указано вfile.
32.9.2. Объекты функций
Объекты Function, используемые в качестве значений в словаре, возвращаемом readmodule_ex(), предоставляют следующие атрибуты:
-
Function.module -
Имя модуля, определяющего функцию, описываемую дескриптором функции.
-
Function.name -
Имя функции.
-
Function.file -
Имя файла, содержащего инструкцию
def, определяющую функцию.
-
Function.lineno -
Номер строки инструкции
defв файле, имя которого указано вfile.
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.6/library/pyclbr.html