[Python-es] No se encuentra el atributo __file__ en el módulo __main__

Ing. Nestor Alonso Torres nalonso en getrans.cu
Mar Ene 26 23:33:38 CET 2010


On Tue, 2010-01-26 at 15:43 -0500, Olemis Lang (Simelix) wrote:
> Recientemente un usuario ha reportado un error relacionado con el
> hecho de que el atributo  __file__ no se encuentra en el msdulo
> __main__ . Trati de hacer algo como :
> 
> {{{
> #!python
> 
> if __name__ == '__main__' :
>    from aux_mod import __file__ as __fnm
> 
> }}}
> 
> ... con `aux_mod` en la misma carpeta que el script, pero me rfeportan
> nuevamente que no se encuentra el mismo atributo. Realmente lo que
> necesito es conocer la carpeta dsnde se encuentra el script que se
> ejecuta. El usuario me dice que il utiliza Windows virtualizado sobre
> MacOS 10.6 ; mientras que todo marcha perfectamente cuando yo lo he
> probado con Ubuntu, Windows, Mac OS, y Windows virtualizado en
> GNU/Linux + Python 2.5 .
> 
> Por tanto :
> 
> Q:
>  - Alguien tiene idea de q es lo q pasa ?
>  - Existe un mitodo infalible (i.e. funcionando para todas las versiones de Py
>   y los distintos SOs) para determinar la carpeta dsnde se encuentra
> el script ?

¿Probaste esto?

import os
print os.getcwd()

Dicen que está disponible en UNIX y Windows [1], donde UNIX incluye a MacOS...

Saludos fraternales,

nat:.

[1] http://docs.python.org/library/os.html#os-file-dir





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