¿Meexplican los paquetes?
Chema Cortés
ch3m4 en ch3m4.org
Mar Dic 23 10:38:03 CET 2003
Luis Rodrigo Gallardo Cruz escribió:
> Lo que quiero es llamar a una función definida
> en otro módulo, que a su vez guarda las referencias a Propiedad y que
> despues uso desde _otro_ lado, con la intención de poder ordenar que
> se refresque la definición de Propiedad.
>
> reload = Otro_modulo.reload_maker(Propiedad, otros_args)
>
> La duda es: ¿Funciona? De lo que quiero estar seguro es de que vamos a
> cargar el módulo correcto, aun que lo llamemos desde otro módulo. Como
> esto es para una herramienta genérica, no puedo garantizar que el otro
> módulo no va a tener un submódulo Propiedad, por ejemplo. El reload en
> sí ya sirve, pero al tratar de meter db como subpaquete de otro fué
> que falló.
Vale. Lo que realmente quieres es controlar de dónde carga el módulo. De
todos modos me parece que te complicas demasiado. ¿Has intentado alguna
solución orientada a objetos?
No se puede cambiar el mecanismo estándar de importación, que siempre
busca en la ruta establecida por 'sys.path'. Si quieres más control
puedes puedes utilizar el módulo 'imp', con el que llegas a controlar la
ruta de donde cargar los módulos, o mejor utiliza el nuevo módulo
'pkgutil' para alterar el 'sys.path' cuando inicializas el paquete (en
el 'tst/__init__.py').
OJO: ¡cuidado con 'reload' como nombre, que es el nombre de una función
estándar!
--
Res publica non dominetur
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es