Существует ли простой способ перечисления имен всех модулей в пакете, без использования __all__
?
Например, с учетом этого пакета:
/testpkg
/testpkg/__init__.py
/testpkg/modulea.py
/testpkg/moduleb.py
Мне интересно, есть ли стандартный или встроенный способ сделать что-то вроде этого:
>>> package_contents("testpkg")
['modulea', 'moduleb']
Ручной подход состоит в том, чтобы перебирать пути поиска модуля, чтобы найти каталог пакета. Затем можно перечислить все файлы в этом каталоге, отфильтровать файлы с уникальным именем py / pyc / pyo, удалить расширения и вернуть этот список. Но это кажется достаточным количеством работы для чего-то, что механизм импорта модулей уже выполняет внутри. Эта функциональность доступна где-нибудь?