2010-01-17 16 views
5

¿Hay alguna forma de importar todos los módulos en el directorio actual y devolver una lista de ellos?Importar todos los módulos en un directorio

Por ejemplo, para el directorio con:

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

Se le dará [<module 'mod'>, <module 'mod2'>, <module 'mod3'>]

+0

posible duplicado de [Cargando todos los módulos en una carpeta en Python] (http://stackoverflow.com/questions/1057431/loading-all-modules-in-a-folder-in-python) –

Respuesta

1

pienso Tengo tu idea.

intente lo siguiente:

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

esta manera se obtiene una lista de objetos module y no contaminan el espacio de nombres global.

+2

Para que funcione , debes deshacerte de los sufijos '.py'. – bereal

+0

@bereal ¡Muchas gracias! Eso es bastante fácil, sin embargo. –

Cuestiones relacionadas