Étant donné un paquet Python, comment trouver automatiquement tous ses sous-paquets? J'avais auparavant une fonction qui ne faisait que parcourir le système de fichiers, à la recherche de dossiers contenant un fichier __init__.py*
, mais maintenant j'ai besoin d'une méthode qui fonctionnerait même si le paquet entier est dans un oeuf.Python Trouver tous les paquets dans un paquet, même dans un œuf
3
A
Répondre
0
pkgutil pourrait être utile.
Voir aussi this SO question., ceci est un exemple de code forme that question.
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)
import pkgutil
for importer, modname, ispkg in pkgutil.walk_packages(path=None, onerror=lambda x: None):
print(modname)