Importar modulos sin saber el nombre

Oswaldo Hernández listas en soft-com.es
Vie Ago 29 11:41:04 CEST 2008


Cristina Yenyxe González García escribió:
> Hola:
> 2008/8/29 Oswaldo Hernández <listas en soft-com.es>
> 
>> La pregunta es:
>> ¿Conoceis alguna otra forma de importar los modulos de un directorio sin
>> tener que recurrir a leer
>> los ficheros que contiene?
> 
> 
> Si los tienes realmente organizados como un paquete, es decir, dentro del
> directorio hay un fichero __init__.py, lo único que necesitarías sería
> definir una variable global __all__ dentro de dicho módulo, indicando todos
> los que se pueden importar. Tal que así:
> __all__ = [ "modulo1", "modulo2", ... "moduloN" ]
> Después, solo necesitarías utilizar la sentencia "import nombre_del_paquete"
> o "from nombre_del_paquete import *" (esta última no es la práctica más
> recomendada en cuestiones de estilo, pero si ya sabes que vas a importarlo
> TODO...) donde proceda.
> 
>> Gracias.
>>
> De nada, espero que te sirva esta solución :)
> 

La idea es poder hacerlo sin necesidad de modificar __init__.py, ni ningun otro archivo de registro 
de modulos. Simplemente importar los modulos que se han depositado en ese directorio.

Se que importar un modulo sin saber previamente que contiene es un riesgo, pero eso intentaria 
solventarlo por otra parte.

Saludos,

-- 
*****************************************
Oswaldo Hernández
oswaldo (@) soft-com (.) es
*****************************************
PD:
Antes de imprimir este mensaje, asegúrese de que es necesario.
El medio ambiente está en nuestra mano.
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es