试图访问位于闪存驱动器上的文件

时间:2015-05-09 03:12:22

标签: python path directory locate

我在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

3 个答案:

答案 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}}