无法获取__file__Python的实际目录



我一直在尝试获取一个打开的.py文件的位置(使用Spyder(,该文件将用于链接各种文件并使用__file__名称,以便任何机器都可以从其当前目录运行。

问题是当我尝试时:

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

它给了我一个错误:

NameError: name '__file__' is not defined

我绕过了这一点,将文件作为字符串而不是名称文件变量调用,使用:

location = os.path.abspath(os.path.dirname('__file__'))

这让我得到了文件的父目录,但没有得到文件所在的实际文件夹:

location = 'C:Users......Scripts'

当真正的位置在:

location = 'C:Users......ScriptsISO'

我尝试了abspathdirnamerealpath的各种组合来获取文件所在的true目录,但我无法获取。

我做错了什么?

因为我在Spyder shell中运行脚本,它没有输出正确的工作目录,因为工作目录设置与文件的路径不一致。

这可以通过Run -> Configuration per file -> The directory of the file being executed解决

但是使用__file__运行脚本更有效的方法是从脚本所在目录中的python3.X.exe文件运行脚本。

相关内容

  • 没有找到相关文章

最新更新