2010-05-09 5 views
3

É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

Répondre

0

pkgutil pourrait être utile.

Voir aussi this SO question., ceci est un exemple de code forme that question.

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) 
Questions connexes