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

Can't escape control character "\r" when extracting file paths

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

"C:\recipe,C:\recipe,C:\recipe,"

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

import sys
import os
import re

line = "C:\recipe,C:\recipe,C:\recipe,"
line = line.replace('\', '\\') # tried to escape control chars here
line = line.replace(',', ' ')
print line # should print "C:\recipe C:\recipe C:\recipe "

for word in line.split():
    fo = open(word, "r+")
    # Do file stuff
    fo.close()

print "\nDone\n"

当我 运行 它时,它给我:

fo = open(word, "r+") IOError: [Errno 13] Permission denied: 'C:'

所以一定是原字符串中的'\r'没有正确转义造成的。我尝试了许多其他转义控制字符的方法,但其中 none 似乎有效。我做错了什么?

使用 raw string:

line = r"C:\recipe,C:\recipe,C:\recipe,"

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

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

输出:

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