все 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Сообщить о неточности