从技术上讲,我希望在我的闪存驱动器上有一个移动文本文件,我在同一目录中的Python代码中引用该文件,例如:
F:/Personal/Side-projects/Multiple Choice/userpass.txt # My code shares this folder's name
唯一的问题是如果我通过切换计算机更改我的闪存驱动器目录(例如F:/...
变为D:/...
),我将无法参考我需要的文本文件,即:
>>> with open("F:/.../userpass.txt") as a:
b = a.readlines()
这将返回FileNotFoundError
,表示F:/
目录不存在。
有什么办法可以绕过这个吗?
答案 0 :(得分:2)
如果文件与脚本位于同一目录中,您可以获得os
模块的完整路径,特别是os.path.dirname 和os.path.realpath:
import os
# get full path for script
pth = os.path.dirname(os.path.realpath(__file__))
# join the path to your .txt file
with open(os.path.join(pth, "serpass.txt")) as a:
如果从同一目录运行脚本,则可以使用文件名:
with open("serpass.txt") as a: