NameError: имя '__file__' не определено - PullRequest
0 голосов
/ 24 октября 2019

Я пытаюсь сохранить путь сценария в переменную, используя:

os.path.abspath(os.path.dirname(__file__))

Однако он продолжает выдавать ошибку name '__file__' is not defined.

here = os.path.dirname(os.path.abspath(__file__))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name '__file__' is not defined

Ответы [ 2 ]

1 голос
/ 24 октября 2019

Уверен, что вы запускаете это в терминале в интерактивном Python, поскольку это единственное место (я знаю), где нет __file__. Кроме того, если бы это был скрипт, и это была бы его первая строка (согласно сообщению об ошибке), он бы не работал на os is not defined (так как вы не импортировали бы его).

Попробуйте вактуальный сценарий. Это должно работать.

0 голосов
/ 24 октября 2019

Я сталкиваюсь с этим при тестировании / отладке классов в Spyder (почти каждый день). Исправить несложно: определите переменную __file__ для имени модуля py, который вы тестируете.

В типе интерпретатора:

__file__ = 'modulename.py'

Затем снова запустите скрипт. Этот метод никогда не вызывал у меня проблемы.

...