Python Glossary English

все Python 3Модули и импортпонятие

pkgutil

модуль

Служебные функции для пакетов: перечислить модули пакета, прочитать файл данных из пакета.

Синтаксис

import pkgutil

Главное в pkgutil сегодня — iter_modules и walk_packages: они перечисляют модули пакета, не импортируя их, и годятся для систем плагинов. Чтение ресурсов пакета (get_data) и поиск загрузчиков в новом коде делают через importlib.resources и importlib.util — find_loader и get_loader устарели и в 3.14 удалены. walk_packages, в отличие от iter_modules, импортирует подпакеты, чтобы заглянуть внутрь.

Примеры

import pkgutil, pathlib
pkg = pathlib.Path('plugins')
pkg.mkdir(exist_ok=True)
for name in ('alpha', 'beta'):
    (pkg / f'{name}.py').write_text('', encoding='utf-8')
print(sorted(m.name for m in pkgutil.iter_modules(['plugins'])))  # → ['alpha', 'beta']

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности