pyclbr — Поддержка браузера классов Python
Исходный код: Lib/pyclbr.py
Модуль pyclbr может использоваться для определения некоторой ограниченной информации о классах, методах и функциях верхнего уровня, определённых в модуле. Предоставляемая информация достаточна для реализации традиционного браузера классов с тремя панелями. Информация извлекается из исходного кода, а не путём импорта модуля, поэтому этот модуль безопасно использовать с ненадежным кодом. Это ограничение делает невозможным использование этого модуля с модулями, не написанными на Python, включая все стандартные и дополнительные расширенные модули.
-
pyclbr.readmodule(module, path=None) -
Чтение модуля и возвращение словаря, сопоставляющего имена классов с объектами-дескрипторами классов. Параметр module должен представлять собой имя модуля в виде строки; это может быть имя модуля внутри пакета. Параметр path должен быть последовательностью и используется для дополнения значения
sys.path, которое используется для поиска исходного кода модуля.
-
pyclbr.readmodule_ex(module, path=None) -
Аналогично
readmodule(), но возвращаемый словарь, помимо сопоставления имён классов с объектами-дескрипторами классов, также сопоставляет имена функций верхнего уровня с объектами-дескрипторами функций. Кроме того, если читаемый модуль является пакетом, ключ'__path__'в возвращаемом словаре имеет в качестве значения список, содержащий путь поиска пакета.
1. Объекты классов
Объекты Class используемые в качестве значений в словаре, возвращённом функциями readmodule() и readmodule_ex(), предоставляют следующие атрибуты данных:
-
Class.module -
Имя модуля, определяющего класс, описанный дескриптором класса.
-
Class.name -
Имя класса.
-
Class.super -
Список объектов
Class, которые описывают непосредственные базовые классы описываемого класса. Классы, которые указаны как суперклассы, но которые не могут быть обнаружены функциейreadmodule(), перечислены как строка с именем класса вместо объектовClass.
-
Class.methods -
Словарь, сопоставляющий имена методов с номерами строк.
-
Class.file -
Имя файла, содержащего
classоператор, определяющий класс.
-
Class.lineno -
Номер строки оператора
classв файле, имя которого указано вfile.
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/2.7/library/pyclbr.html