我一直对 Python 中目录遍历的主题感到困惑,并且有一种情况我很好奇:我想在与我当前所在目录基本平行的目录中访问一个文件。给定这个目录结构:
\parentDirectory
\subfldr1
-testfile.txt
\subfldr2
-fileOpener.py
我正在尝试在 fileOpener.py 中编写脚本以退出 subfldr2,进入 subfldr1,然后在 testfile.txt 上调用 open() 。
通过浏览 stackoverflow,我看到人们使用os
and os.path
为了实现这一点,但我只找到了有关脚本来源下的子目录中的文件的示例。
在研究这个问题时,我意识到我可以将脚本重新定位到 subfldr1 中,然后一切都会好起来,但我对如何实现这一点感到好奇。
编辑:这个问题特别涉及Windows机器,因为我不知道驱动器号和反斜杠如何影响这个问题。
如果您知道文件的完整路径,您可以执行类似的操作。但是,如果您的问题直接与相对路径相关,那么我不熟悉并且必须进行研究和测试。
path = 'C:\\Users\\Username\\Path\\To\\File'
with open(path, 'w') as f:
f.write(data)
Edit:
这是一种相对而不是绝对的方法。不确定这是否适用于 Windows,您必须对其进行测试。
import os
cur_path = os.path.dirname(__file__)
new_path = os.path.relpath('..\\subfldr1\\testfile.txt', cur_path)
with open(new_path, 'w') as f:
f.write(data)
Edit 2:一个简短的说明__file__
,这在交互式解释器中不起作用,因为它是交互式运行的,而不是从实际文件运行的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)