[Python-es] Como pasar parametros entre modulos

Attila Saorin mostroratas en yahoo.es
Mar Nov 26 02:04:03 CET 2002


Hola Luis,

 --- luis lopez <glav en lycos.com> escribió: 
> Ahora, tengo problemas para pasar paramentros entre modulos, en el
> primer modulo llamado menu.py tengo el nombre de usuario y su clave
> de acceso y quiero pasarlas desde este al modulo trafico.py, la
> llamada a trafico.py la hago asi:
> 
> exec 'import Trafico'

bueno, lo primero de todo, no entiendo por qué haces eso, ¿por qué no
importas el módulo a secas? poniendo 'import Trafico' al comienzo de tu
fichero 'menu.py' ¿o lo que quieres es que ese primero se ejecute y que
luego se ejecute otro secuencialmente?

es decir, si en el módulo 'Trafico.py' sólo quieres usar una clase,
función o algo así, con importarlo al ppio y luego llamar a esa
función, clase o lo que sea con esos dos parámetros en la llamada ya se
podría ejecutar.

No sé si me he explicado, quizás es que no me ha quedado del todo claro
tu problema :(

> pero no se como pasar estos valores del primer modulo y como
> recibirlos en el segundo, y quiera saber si hay alguna forma de
> hacerlo sin tener que guardarlos en algun archivo.

Bueno, hacerlo a través de un fichero sería la última solución a tomar,
a ver, puede pasar a otro módulo todo lo que quieras, (si fallara en
esto, seguro que Hernan me mata despues de todo el tiempo que le hice
perder con esto ;D) puedes pasar unos valores, unas variables, un
método de una clase, todo (obviamente sin tener que usar archivos),
diríamos que podrías declarar esas dos variables como globales, pero
siendo algo como un usario y un password, no parece nada lógico que se
pudiera comprobar en algún momento esas dos variables al ser globales o
visibles de cualquier parte, por eso he hablado antes de si lo que
quieres es usar un método o función definida en otro módulo, con
exportarla en el otro módulo (sólo esa función o método) e importala en
el 'menu.py' debería ser más que suficiente para que hicieras una
llamada al método y  función con los dos valores que te interesan.

podrías definir las variables visible por el exterior (no muy
recomendable):

__all__ = ["usuario", "clave"]

y desde el otro módulo, a importarlo ya las podrías ver.

Imagino que a los que saben más de esto que yo, no les gustará
demasiado esta solución y lo más recomendable sea que hagas una llamada
a lo que necesites del otro módulo y le pases esos valores como
parámetros.

Espero haberte resuelto la duda, si no, ya sabes, sigue preguntando ;)

Saludos.

Attila

_______________________________________________________________
Yahoo! Messenger
Nueva versión: Webcam, voz, y mucho más ¡Gratis! 
Descárgalo ya desde http://messenger.yahoo.es


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