我一直对 Python 中的目录遍历这个主题感到困惑,并且有一种情况我很好奇:我有一个我想访问的文件,它位于一个与我当前所在的目录基本平行的目录中。鉴于此目录结构:
\parentDirectory
\subfldr1
-testfile.txt
\subfldr2
-fileOpener.py
我试图在 fileOpener.py 中编写脚本以退出 subfldr2,进入 subfldr1,然后在 testfile.txt 上调用 open()。
通过浏览 stackoverflow,我看到人们使用 os
和 os.path
来完成此操作,但我只在脚本源下的子目录中找到了有关文件的示例。
为此,我意识到我可以将脚本重新定位到 subfldr1 中,然后一切都会好起来的,但我对如何实现这一点感到好奇。
编辑:这个问题特别适用于 Windows 机器,因为我不知道驱动器号和反斜杠如何影响这个问题。
原文由 dbishop 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果你知道文件的完整路径,你可以做类似的事情。但是,如果您的问题直接与相对路径相关,那我不熟悉并且必须研究和测试。
编辑:
这是一种相对而不是绝对的方法。不确定这是否适用于 Windows,您将不得不对其进行测试。
编辑 2: 关于
__file__
的一个快速说明,这在交互式解释器中不起作用,因为它是交互式运行的,而不是从实际文件运行的。