提取文件路径时无法转义控制字符"r"



我正在尝试分别打开以下每个文件。

"C:recipe1,C:recipe2,C:recipe3,"

我尝试使用以下代码执行此操作:

import sys
import os
import re
line = "C:recipe1,C:recipe2,C:recipe3,"
line = line.replace('\', '\\') # tried to escape control chars here
line = line.replace(',', ' ')
print line # should print "C:recipe1 C:recipe2 C:recipe3 "
for word in line.split():
    fo = open(word, "r+")
    # Do file stuff
    fo.close()
print "nDonen"

当我运行它时,它给了我:

fo = 打开(单词,"r+") IOError: [errno 13] 权限被拒绝: 'C:'

因此,这一定是原始字符串中的 'r' s 未正确转义的结果。我尝试了许多其他转义控制字符的方法,但似乎都没有奏效。我做错了什么?

使用原始字符串:

line = r"C:recipe1,C:recipe2,C:recipe3,"

如果出于某种原因不使用原始字符串,则需要通过添加双斜杠来转义单斜杠:

line = "C:\recipe\1,C:\recipe\2,C:\recipe\3,"
print(line.split(','))

输出:

['C:\recipe\1', 'C:\recipe\2', 'C:\recipe\3', '']

最新更新