Spec-Zone.ru › Python 2.7

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

Spec-Zone.ru

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