NameError:名称“ __file__”未定义

时间:2019-10-24 09:31:05

标签: python nameerror

我正在尝试使用以下命令将脚本的路径存储到变量中:

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 个答案:

答案 0 :(得分:1)

请确保您是在交互式Python终端中运行此程序,因为(我知道)它是唯一没有__file__的地方。另外,如果它是脚本,并且它是脚本的第一行(根据错误消息),它将在os is not defined上失败(因为您不会导入它)。

在实际脚本中尝试。这应该起作用。

答案 1 :(得分:0)

我在Spyder中(几乎每天)进行测试/调试类时遇到了这个问题。修复很容易:将__file__变量定义为要测试的py模块的名称。

在解释器中输入:

__file__ = 'modulename.py'

然后再次运行脚本。这种方法从未对我造成问题。