我在python中创建了一个简单的测试代码,它从文本文件中读取,然后在文本文件包含一行" on"之后执行操作。
如果我使用同一文件夹中的文本文件在我的硬盘上运行脚本,我的代码工作正常。示例,(C:\ Python27 \ my_file.txt和C:\ Python27 \ my_scipt.py)。
但是,如果我尝试使用此代码,而我的文本文件位于我的flashdrive上并且我的脚本仍在我的硬盘上,即使我指定了正确的路径,它仍然无法正常工作。例如,(G:\ flashdrive_folder \ flashdrive_file.txt和C:\ Python27 \ my_scipt.py)。
这是我写的代码。
def locatedrive():
file = open("G:\flashdrive_folder\flashdrive_file.txt", "r")
flashdrive_file = file.read()
file.close()
if flashdrive_file == "on":
print "working"
else:
print"fail"
while True:
print "trying"
try:
locatedrive()
break
except:
pass
break
答案 0 :(得分:3)
反斜杠字符具有双重功能。 Windows将其用作路径分隔符,Python使用它来引入转义序列。
您需要转义反斜杠(使用反斜杠!),或使用以下其他技术之一:
file = open("G:\\flashdrive_folder\\flashdrive_file.txt", "r")
或
file = open(r"G:\flashdrive_folder\flashdrive_file.txt", "r")
或
file = open("G:/flashdrive_folder/flashdrive_file.txt", "r")
答案 1 :(得分:0)
使用:
import os
os.chdir(path_to_flashdrive)
答案 2 :(得分:0)
{{1}}