J'ai un paquet avec quelques modules, chaque module a une classe (ou quelques classes) définie dedans. Je dois obtenir la liste de tous les modules dans le paquet. Existe-t-il une API pour cela en python?python: liste les modules dans le paquet
Voici la structure du fichier:
\pkg\
\pkg\__init__.py
\pkg\module1.py -> defines Class1
\pkg\module2.py -> defines Class2
\pkg\module3.py -> defines Class3 and Class31
à l'intérieur module1 je dois obtenir la liste des modules au sein pkg, puis importer toutes les classes définies dans ces modules
Mise à jour 1: Ok, après avoir considéré les réponses et les commentaires ci-dessous, j'ai pensé que ce n'est pas facile de répondre à mes besoins. Afin d'avoir le code que j'ai proposé ci-dessous fonctionnant, tous les modules devraient être explicitement importés au préalable.
Alors maintenant le nouveau concept: Comment obtenir la liste des modules dans un package sans charger les modules? Utilisation de l'API python, c'est-à-dire - sans répertorier tous les fichiers dans le dossier du package?
Merci ak
Prenez note que les modules du paquet ne sont pas ajoutés au dictionnaire du paquet à moins qu'ils soient importés. –
ah, donc ce qui suit est également nécessaire, non? à partir de pkg import * –
Non, car '*' apparaît dans le dict du paquet. Importez les modules explicitement, ou faites-les importer par le paquet. –