Таблица загруженных модулей

tablica zagruzhennyh modulej Системные инструменты

В модуле sys есть также средства, позволяющие подключиться к интерпретатору. Например, переменная sys.modules служит словарем, содержащим записи вида name:module для каждого модуля, импортированного в сеанс или программу Python (точнее, в вызывающий процесс Python):

>>> sys.modules

{‘reprlib’: <modulereprlibfromc:\python31\lib\reprlib.py’>, часть строк удалена

>>> list(sys.modules.keys())

[‘reprlib’, ‘heapq’, ‘__future__’, sre_compile’, ‘_collections’, ‘locale’, ‘_sre’, ‘functools’, ‘encodings’, ‘site’, ‘operator’, ‘io’, ‘__main__’, …часть строк удалена… ]

>>> sys

<module ‘sys’ (built-in)>

>>> sys.modules[‘sys’]

<module ‘sys’ (built-in)>

Мы могли бы использовать эту переменную для создания программ, выводящих или иным образом обрабатывающих все модули, загруженные программой (нужно просто обойти в цикле список ключей sys.modules).

Аналогичным средством подключения к интерпретатору является счетчик ссылок на объекты, доступный через переменную sys.getrefcount, и список имен модулей, встроенных в выполняемый файл интерпретатора Python (sys.builtin_module_names). Более подробные сведения вы найдете в руководстве по библиотеке Python. Подобные переменные главным образом предназначены для получения внутренней информации интерпретатора Python, но иногда они могут иметь большое значение для программистов, создающих инструменты для других программистов.

Использованная литература:
Марк Лутц — Программирование на Python, 4-е издание, I том, 2011

Оцените статью
Секреты программирования
Добавить комментарий