如何在 Spyder (Anaconda) 中找到当前 .py 文件的路径?

Luc*_*pan 5 python spyder anaconda

设置

我在我的计算机上运行一个脚本,位于目录Users/path/to/my/script.py.

在脚本中,我使用脚本的路径,例如,

sub_path = 'Users/path/to/my/'
os.chdir(sub_path + 'other_script/') 
Run Code Online (Sandbox Code Playgroud)

如您所见,我sub_path在代码中“手动”进行了定义。


问题

我不想sub_path手动定义,我宁愿让 Python 为我做。

我正在寻找类似于我用来获取当前工作目录的代码的东西:os.getcwd(),但是然后是获取当前文件目录的代码。

我主要找到类似于这个的答案,它说,

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

但在 Spyder & Anaconda 设置中,这会生成NameError: name '__file__' is not defined.

我能做什么?

lwi*_*zek 1

如果您想移回您..在文件路径中使用的文件夹/目录。

os.chdir('../other_scripts/')

将工作。查看此内容或wiki可能会对您有所帮助。如果您想从当前位置移动,可以使用'./new_dir/'. 如果您想自动查找其他文件,您可能需要阅读此处,其中提到使用os.walk。这可能是同一个问题。