[Python-es] Importando modulos

José Alejandro Pérez Rubio perezj en si.uji.es
Mar Jul 23 08:27:56 CEST 2002


On Mon, 22 Jul 2002, Attila Saorin wrote:

> hola a todos,
> 
> os queria preguntar una duda sobre la importacion de modulos de unos ficheros a otros.
> 
> Tengo un fichero ejemplo, con el que quiero realizar una serie de acciones (no creo que sea la
> forma definitiva de hacerlo, quizas este fichero se pase como entrada a mi programa, pero eso es
> otra cosa), entonces, mi programa tiene un fichero que diriamos como principal, con nombre engine,
> donde alli hago las importaciones de todos los modulos y clases que voy a utilizar. Por lo tanto,
> yo en mi fichero ejemplo, importo dicho modulo engine, el problema es que si yo llamo un metodo
> que esta definido en una clase que es importada desde el engine y no directamente importado por mi
> fichero ejemplo, no los reconoce ?que deberia poner para poder llamarlos? si en mi fichero ejemplo
> importo esos ficheros, no hay problema, pero no me parece elgante ni practico.
> 

Existe la funcion execfile, que hace algo parecido a lo que parece necesitarse.

execfile( 'engine.py' )
# El resto del fichero ejemplo

El uso de esta función no debería ser necesario en su caso, quiza convenga más revisar el modulo
engine.py y garantizar que ofrece un interface que se ajuste mejor a lo que se le está pidiendo.

Por otro lado, cada módulo debería importar aquellos recursos que requiere, sin importar mucho 
si éstos ya han sido importados por otro módulo. Por ejemplo si usamos el modulo 'socket' y
el modulo 'os' lo razonable sería:

import socket, os

Aunque realmente socket importe internamente os



> 
> Attila
> 
> _______________________________________________________________
> Yahoo! Messenger
> Nueva versión: Webcam, voz, y mucho más ¡Gratis! 
> Descárgalo ya desde http://es.messenger.yahoo.com
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo.py/python-es
> 

-- 
Un saludo


Alejandro





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