2010-01-17 2 views
5

Existe-t-il un moyen d'importer tous les modules dans le répertoire courant et de renvoyer une liste d'entre eux?Importer tous les modules dans un répertoire

Par exemple, pour le répertoire avec:

  • mod.py
  • mod2.py
  • mod3.py

Il vous donnera [<module 'mod'>, <module 'mod2'>, <module 'mod3'>]

+0

duplication possible de [Chargement de tous les modules dans un dossier en Python] (http://stackoverflow.com/questions/1057431/loading-all-modules-in-a-folder-in-python) –

Répondre

1

Je pense J'ai ton idée.

les opérations suivantes:

import glob 
modules = [] 
for module_name in glob.glob("*.py"): 
    modules.append(__import__(module_name[:-3])) 

De cette façon, vous obtenez une liste des objets module et ne pollue pas l'espace de noms global.

+2

Pour le faire fonctionner , vous devez vous débarrasser des suffixes '.py'. – bereal

+0

@bereal Merci beaucoup! C'est assez facile, cependant. –

Questions connexes