pyclbr
— Поддержка браузера Python модуля¶
Исходный код: Lib/pyclbr.py
Модуль pyclbr
предоставляет ограниченную информацию о функциях, классах и
методах, определенных в Python-закодированном модуле. Информация достаточна для
реализации браузера модулей. Информация извлечена из источника Python
кода, а не импортировав модуль, таким образом, модуль безопасно
используется с кодом, которому нет доверия. Это ограничение делает
невозможным использование модуля с модулями, не реализованными в
Python, включая все стандартные и дополнительные модули расширения.
-
pyclbr.
readmodule
(module, path=None)¶ Возвращает словарного сопоставления имен классов уровня модуля с классом дескрипторы. По возможности включаются дескрипторы для импортированных базовых классов. Параметр module - это строка с именем считываемого модуля; это может быть имя модуля в пакете. Если дали, path - последовательность путей к директории, предварительно ожидаемых к
sys.path
, который является используемый, чтобы определить местонахождение источника модуля код.Эта функция является исходным интерфейсом и поддерживается только для обратной совместимости. Это возвращает фильтрованная версия следующего.
-
pyclbr.
readmodule_ex
(module, path=None)¶ Возвращает словарное дерево, содержащее функцию или класс дескрипторов для каждой функции и класса, определенных в модуле с
def
илиclass
инструкция. Словарь возвращенный сопоставляет функции уровня модуля и имена классов с их дескрипторы. Вложенные объекты вводятся в дочерний словарь родительского объекта. Как и в случае readmodule, module называет модуль для чтения, а path добавляется к sys.path. Если считываемый модуль является пакетом, словарь возвращенный имеет ключ'__path__'
, значение которого является списком, содержащим путь поиска пакета.
Добавлено в версии 3.7: Дескрипторы для вложенных определений. Доступ к ним осуществляется через новых детей атрибут. У каждого из них есть новый родительский атрибут.
Дескрипторы возвращенный этими функциями - сущности классов функции и класса. Пользователи не должны создавать сущности из этих классов.
Объекты функции¶
Класс Function
сущности описывать функции, определенные def инструкцией. У
них есть следующие атрибуты:
-
Function.
file
¶ Имя файла, в котором определена функция.
-
Function.
module
¶ Имя модуля, определяющего описанную функцию.
-
Function.
name
¶ Имя функции.
-
Function.
lineno
¶ Номер строки в файле, в котором начинается определение.
-
Function.
parent
¶ Для функций верхнего уровня, None. Для вложенных функций - родительский.
Добавлено в версии 3.7.
-
Function.
children
¶ Словарь, наносящий на карту имена к дескрипторы для вложенных функций и классов.
Добавлено в версии 3.7.
Объекты класса¶
Класс Class
сущности описывать классы, определенные классом
инструкции. У них есть тот же атрибуты как функции и еще два.
-
Class.
file
¶ Имя файла, в котором определен класс.
-
Class.
module
¶ Имя модуля, определяющего описанный класс.
-
Class.
name
¶ Имя класса.
-
Class.
lineno
¶ Номер строки в файле, в котором начинается определение.
-
Class.
parent
¶ Для классов верхнего уровня, None. Для вложенных классов - родительский.
Добавлено в версии 3.7.
-
Class.
children
¶ Словарь, наносящий на карту имена к дескрипторы для вложенных функций и классов.
Добавлено в версии 3.7.
-
Class.
super
¶ Список объектов
Class
, описывающих непосредственные базовые классы описываемого класса. Классы, которые называются как суперклассы, но не обнаруживаются какreadmodule_ex()
, перечислены как строка с именем класса, а не какClass
объекты.
-
Class.
methods
¶ Имя метода сопоставления словаря с номерами строк. Это может быть получено из нового дочернего словаря, но остается для обратной совместимости.