Re: Sobre Módulos
Xin
xinxic en gmail.com
Dom Nov 25 18:29:45 CET 2007
Un consejo que quizà te sirva.
Provoca una excepción en el mòdulo importado, capturàndola. I controla
su traza para saber quien lo ha llamado. Creo que hay un mòdulo
específico para estos menesteres. Pero no me preguntes qual.
Quizà aquí encuentres lo que buscas:
- http://docs.python.org/lib/python.html
Xin
El 25/11/2007, a las 11:44, Javier Garcia escribió:
> Es algo así, pero sin que se necesite instanciar una clase desde
> __main__ para pasarle
> __file__ al módulo.
>
> Es decir desde __main__ hacemos
>
>>> import modulo
>
> ¿ con solo esta linea es posible que modulo sepa quien es el archivo
> que lo ha importado ?
>
> Quiero investigar que ocurre cuando se le pasa el control de ejecución
> a un módulo, quizá sea una chorrada pero tengo curiosidad.
>
> Un ejemplillo:
>
> << Main.py >>
>
> import modulo
>
> ... resto del código....
>
> << modulo.py >>
>
> import sys
>
> if __name__ != "__main__":
>
> print "El fichero que ha importado este módulo es:" #
> devuelve >> main.py
>
> ... leer main.py y hacer cosas con todo el código ( excepto con
> la linea " import modulo" )
>
> sys.exit() # terminamos la ejecución sin que el interprete
> ejecute por si mismo el
> # código de main.py
>
> ¿Esto vale para algo o es inutil??
>
> Gracias.
>
>
>
>
>
>
>
>
> El 25/11/07, Francisco Palm <francisco.palm en gmail.com> escribió:
>> No veo muy claro lo que quieras...
>>
>> Cualquier clase del módulo puede consultarle al programa principal
>> cual es el nombre del archivo:
>>
>> archivo modulo.py
>> ----
>> class clase:
>> def __init__(self,archivo):
>> self.archivo = archivo
>> ----
>>
>> archivo principal.py
>> ----
>> import modulo
>>
>> objeto = modulo.clase(__file__)
>>
>> print objeto.archivo
>> ----
>>
>> Saludos
>>
>> F. Palm
>>
>>
>> El 24/11/07, Javier Garcia <red.octobered en gmail.com> escribió:
>>> Hola a todos:
>>>
>>> Un script A importa un módulo B , que tendría que poner en B para
>>> saber cual es el nombre de fichero que contiene el script A es
>>> decir,
>>> el que lo ha importado.
>>>
>>> Gracias.
>>>
>>> --
>>> Drink www.UnMundoFeliz.org
>>> _______________________________________________
>>> Lista de correo Python-es
>>> http://listas.aditel.org/listinfo/python-es
>>> FAQ: http://listas.aditel.org/faqpyes
>>>
>>
>>
>> --
>> --------------------------------------
>> fpalm en ula.ve
>> francisco.palm en gmail.com
>>
>> cel: 0414 5109177
>> tel: 0274 2712106
>>
>> "Cuando uno es joven, debe ser revolucionario, no sólo rebelarse...
>> ser psicológicamente revolucionario significa no aceptar ningún
>> modelo."
>> K
>> _______________________________________________
>> Lista de correo Python-es
>> http://listas.aditel.org/listinfo/python-es
>> FAQ: http://listas.aditel.org/faqpyes
>>
>
>
> --
> Drink www.UnMundoFeliz.org
> _______________________________________________
> Lista de correo Python-es
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
_______________________________________________
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