Si está tratando de usar __file__
de su intérprete, no se define __file__
. Este es el comportamiento previsto. __file__
es un atributo de los módulos. Here
es una discusión sobre el tema.
usted puede probar al hacer esto:
~$ echo "print __file__" > test.py
~$ python test.py
test.py
__file__
funciona desde dentro de los módulos.
Ahora del intérprete:
~$ python
Python 2.7.0+ (r27:82500, Sep 15 2010, 18:04:55)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print __file__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name '__file__' is not defined
__file__
no está definido
>>> import test
test.pyc
>>> print __file__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name '__file__' is not defined
__file__
no está definido
>>> print test.__file__
test.pyc
>>>
__file__
se define para el módulo de prueba
Trato esto claramente en bash: 'PROJECT_ROOT = os.path.dirname (__ file__) ' y ahora recibo: ' -bash: error de sintaxis cerca del token inesperado '('' Todavía no sé algunas cosas importantes sobre bash, creo ... ¿Hay alguna solución que puedas proporcionar? – krzyhub
* Realmente * necesita dejar de escribir el código Python en el indicador bash. Y mientras lo haces, lee el tutorial. http://docs.python.org/tutorial/index.html –
Así que tengo mucho trabajo por hacer. Gracias por todo. – krzyhub