Python Поиск всех пакетов внутри пакета, даже если в яйце

Учитывая пакет Python, как я могу автоматически найти все его подпакеты?

Раньше у меня была функция, которая просто просматривала файловую систему и искала папки с __init__.py* файл в них, но теперь мне нужен метод, который бы работал, даже если весь пакет находится в яйце.

1 ответ

Решение

pkgutil может быть полезным.

Также посмотрите этот ТАК вопрос., это пример кода из этого вопроса.

kaizer.se

import pkgutil
# this is the package we are inspecting -- for example 'email' from stdlib
import email
package = email
for importer, modname, ispkg in pkgutil.iter_modules(package.__path__):
    print "Found submodule %s (is a package: %s)" % (modname, ispkg)

~ unutbu

import pkgutil
for importer, modname, ispkg in pkgutil.walk_packages(path=None, onerror=lambda x: None):
    print(modname)
Другие вопросы по тегам