Como pasar parametros entre modulos

luis lopez glav en lycos.com
Mie Nov 27 21:58:31 CET 2002


 
--

On Tue, 26 Nov 2002 02:04:03  
 Attila Saorin wrote:
>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 :(
>

Gracias Attila por ti respuesta, lo que pasa es que el modulo menu.py va a llamar a diferentes modulos dependiendo del usuario, algunos van a tener acceso a 4 o 5 modulos y otros a 30 o 40 y pueden ser diferentes, las opciones que tiene cada usuario esta en una base de datos de donde las lee menu.py.

>> 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.
>

Por que no es recomendable este metodo?

>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
>_______________________________________________
>Python-es mailing list
>Python-es en aditel.org
>http://listas.aditel.org/listinfo.py/python-es
>


_____________________________________________________________
Get 25MB, POP3, Spam Filtering with LYCOS MAIL PLUS for $19.95/year.
http://login.mail.lycos.com/brandPage.shtml?pageId=plus&ref=lmtplus


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