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