我正在尝试分别打开以下每个文件。
"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', '']