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/3.5/library/pyclbr.html