pyclbr — Python module browser support¶
Вихідний код: Lib/pyclbr.py
The pyclbr module provides limited information about the
functions, classes, and methods defined in a Python-coded module. The
information is sufficient to implement a module browser. The
information is extracted from the Python source code rather than by
importing the module, so this module is safe to use with untrusted code.
This restriction makes it impossible to use this module with modules not
implemented in Python, including all standard and optional extension
modules.
- pyclbr.readmodule(module, path=None)¶
Повертає словник, що відображає імена класів на рівні модуля на дескриптори класів. Якщо можливо, включено дескриптори для імпортованих базових класів. Параметр module — це рядок із назвою модуля для читання; це може бути назва модуля в пакеті. Якщо задано, path — це послідовність шляхів до каталогу, доданих до
sys.path, який використовується для пошуку вихідного коду модуля.Ця функція є оригінальним інтерфейсом і зберігається лише для зворотної сумісності. Він повертає відфільтровану версію наступного.
- pyclbr.readmodule_ex(module, path=None)¶
Повертає дерево на основі словника, що містить дескриптори функції або класу для кожної функції та класу, визначених у модулі, за допомогою оператора
defабоclass. Повернений словник відображає назви функцій і класів рівня модуля на їхні дескриптори. Вкладені об’єкти вводяться до дочірнього словника їх батьків. Як і для readmodule, module називає модуль, який потрібно прочитати, а path додається до sys.path. Якщо модуль, який читається, є пакетом, повернутий словник має ключ'__path__'', значенням якого є список, що містить шлях пошуку пакета.
Added in version 3.7: Дескриптори для вкладених визначень. Доступ до них здійснюється через атрибут new children. Кожен має новий батьківський атрибут.
Дескриптори, які повертаються цими функціями, є екземплярами класів Function і Class. Користувачі не повинні створювати екземпляри цих класів.
Функціональні об’єкти¶
- class pyclbr.Function¶
Class
Functioninstances describe functions defined by def statements. They have the following attributes:- file¶
Ім’я файлу, в якому визначена функція.
- module¶
Назва модуля, що визначає описану функцію.
- name¶
Ім’я функції.
- lineno¶
Номер рядка у файлі, з якого починається визначення.
- parent¶
For top-level functions,
None. For nested functions, the parent.Added in version 3.7.
- children¶
A
dictionarymapping names to descriptors for nested functions and classes.Added in version 3.7.
Об’єкти класу¶
- class pyclbr.Class¶
Class
Classinstances describe classes defined by class statements. They have the same attributes asFunctionsand two more.- file¶
Ім’я файлу, в якому визначено клас.
- module¶
Назва модуля, що визначає описуваний клас.
- name¶
Назва класу.
- lineno¶
Номер рядка у файлі, з якого починається визначення.
- parent¶
For top-level classes,
None. For nested classes, the parent.Added in version 3.7.
- children¶
Словник, що зіставляє імена з дескрипторами для вкладених функцій і класів.
Added in version 3.7.
- super¶
A list of
Classobjects which describe the immediate base classes of the class being described. Classes which are named as superclasses but which are not discoverable byreadmodule_ex()are listed as a string with the class name instead of asClassobjects.
- methods¶
A
dictionarymapping method names to line numbers. This can be derived from the newerchildrendictionary, but remains for back-compatibility.