Если вы пытаетесь использовать __file__
от вашего переводчика, __file__
не определено. Это предполагаемое поведение. __file__
является атрибутом модулей. Here
- обсуждение темы.
Вы можете проверить, выполнив это:
~$ echo "print __file__" > test.py
~$ python test.py
test.py
__file__
работает изнутри модулей.
Теперь от переводчика:
~$ 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__
не определено
>>> import test
test.pyc
>>> print __file__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name '__file__' is not defined
__file__
не определено
>>> print test.__file__
test.pyc
>>>
__file__
определено для тестового модуля