Est-il un standard moyen de la liste de noms de modules Python dans un paquet?

Est-il un moyen simple d'énumérer les noms de tous les modules dans un colis, sans l'aide de __all__?

Par exemple, compte tenu de ce package:

/testpkg
/testpkg/__init__.py
/testpkg/modulea.py
/testpkg/moduleb.py

Je me demandais si il existe une norme ou intégré dans la façon de faire quelque chose comme ceci:

>>> package_contents("testpkg")
['modulea', 'moduleb']

Le manuel d'approche serait de parcourir le module de chemins de recherche afin de trouver le paquet du répertoire. On pourrait alors la liste de tous les fichiers dans ce répertoire, filtre l'unique nommé py/pyc/pyo fichiers, bande les extensions, et le retour de cette liste. Mais cela semble être une bonne quantité de travail pour quelque chose, le module d'importation mécanisme est déjà en interne. Est-ce que la fonctionnalité exposés n'importe où?

InformationsquelleAutor DNS | 2009-01-28