Spec-Zone.ru › Python 3.6

pyclbr — Поддержка просмотра классов Python

Исходный код: Lib/pyclbr.py

Модуль pyclbr может использоваться для определения ограниченной информации о классах, методах и функциях верхнего уровня, определенных в модуле. Предоставленная информация достаточна для реализации традиционного браузера классов с тремя панелями. Информация извлекается из исходного кода, а не путем импорта модуля, поэтому этот модуль безопасно использовать с кодом, которому нельзя доверять. Это ограничение делает невозможным использование этого модуля с модулями, не реализованными на языке Python, включая все стандартные и дополнительные расширенные модули.

pyclbr.readmodule(module, path=None)

Считывает модуль и возвращает словарь, сопоставляющий имена классов с объектами-дескрипторами классов. Параметр module должен быть именем модуля в виде строки; это может быть имя модуля внутри пакета. Параметр path должен быть последовательностью и используется для дополнения значения sys.path, которое используется для поиска исходного кода модуля.

pyclbr.readmodule_ex(module, path=None)

Подобно readmodule(), но возвращаемый словарь, помимо сопоставления имен классов с объектами-дескрипторами классов, также сопоставляет имена функций верхнего уровня с объектами-дескрипторами функций. Кроме того, если читаемый модуль является пакетом, ключ '__path__' в возвращаемом словаре имеет в качестве значения список, содержащий путь поиска пакета.

32.9.1. Объекты классов

Объекты Class, используемые в качестве значений в словаре, возвращаемом readmodule() и readmodule_ex(), предоставляют следующие атрибуты данных:

Class.module

Имя модуля, определяющего класс, описываемый дескриптором класса.

Class.name

Имя класса.

Class.super

Список объектов Class, описывающих непосредственные базовые классы описываемого класса. Классы, которые названы в качестве суперклассов, но которые не могут быть обнаружены readmodule(), перечислены как строка с именем класса вместо объектов Class.

Class.methods

Словарь, сопоставляющий имена методов с номерами строк.

Class.file

Имя файла, содержащего инструкцию class , определяющую класс.

Class.lineno

Номер строки инструкции class в файле, имя которого указано в file.

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

Spec-Zone.ru

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