Список загруженных и скомпилированных модулей.
sys.modules
[загруженные модули],sys.builtin_module_names
[скомпилированные модули],sys.stdlib_module_names
[стандартные библиотечные модули],sys.modules
:Атрибут sys.modules
представляет собой словарь, который отображает имена модулей на модули, которые уже были загружены.
Этим можно манипулировать для принудительной перезагрузки модулей и других хитростей. Однако замена словаря не обязательно будет работать должным образом, а удаление важных элементов из словаря может привести к сбою Python.
>>> import sys >>> sys.modules.keys() # dict_keys(['sys', 'builtins', 'encodings', 'codecs', # ... # ... # 'io', 'os', 'stat',, 'readline', 'atexit', 'rlcompleter'])
sys.builtin_module_names
:Атрибут sys.builtin_module_names
представляет собой кортеж строк, дающий имена всех модулей, которые скомпилированы в этот интерпретатор Python.
Эта информация недоступна другим способом - sys.modules.keys()
отображает только импортированные модули.
>>> import sys >>> sys.builtin_module_names # ('_abc', '_ast', '_codecs', '_collections', # ... # ... # 'itertools', 'marshal', 'posix', # 'pwd', 'sys', 'time', 'xxsubtype')
sys.stdlib_module_names
:Атрибут sys.stdlib_module_names
представляет собой набор строк, содержащих имена стандартных библиотечных модулей.
Вывод одинаков на всех платформах. Также перечислены модули, которые недоступны на некоторых платформах и модули, отключенные при сборке Python. Перечислены все типы модулей: чистый Python, встроенные, замороженные frozen
и расширяемые модули. Тестовые модули исключены.
Для пакетов указан только основной пакет: подпакеты и подмодули не указаны. Например, в списке указан пакет электронной почты email
, но не указаны подпакет email.mime
и субмодуль email.message
.
Смотрите также список sys.builtin_module_names
.
Новое в версии 3.10.