Spec-Zone.ru › Python 3.5

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API