Python反斜杠不会消失

时间:2012-02-10 15:37:04

标签: python filepath backslash

我是python尝试使用以下命令在python中打开文件的新手:

phys = "C:\\parsework\\glckpysdata.txt"
print phys
d = open(phys)

当我跑步时,我得到:

C:\parsework\glckpysdata.txt
Traceback (most recent call last):
  File "C:\py\boxtest2.py", line 28, in <module>
    d = open(phys)
IOError: [Errno 2] No such file or directory: 'C:\\parsework\\glckpysdata.txt'

我觉得我已经尝试了所有东西(phys = r“C:\ parsework \ glckpysdata.txt”,用双引号和单引号/反斜杠等直接进入open命令......)似乎没有什么可以阻止它用双反斜杠读取路径。 关于这个最令人沮丧的事情我在同一个脚本中有完全相同的语法,它在那里工作得很好:

thisguy = "C:\\parsework\\glckout\\"
thisguy += nam
g = open(thisguy)

在同一个脚本中,工作正常。有人能告诉我发生了什么事吗?

2 个答案:

答案 0 :(得分:7)

您的问题不是路径中的双反斜杠 - 这只是在错误消息中显示字符串表示的工件。实际的字符串不包含双反斜杠。

您的问题只是C:\parsework\glckpysdata.txt不存在,正如错误消息所示。

顺便说一下,为了避免这种问题,只需在路径中使用正斜杠:

phys = "C:/parsework/glckpysdata.txt"

答案 1 :(得分:2)

以下任何一种情况都是正确的:

phys = "C:\\parsework\\glckpysdata.txt"

phys = r"C:\parsework\glckpysdata.txt"

该异常表示该文件不存在,或者您无权访问该文件。仔细检查路径和文件名(猜测,您是否遗漏了h中的glckpysdata.txt?)

异常消息中的双反斜杠就是嵌入式反斜杠的显示方式;每个\\对应字符串中的单个反斜杠。