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

标签 python control-characters

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

"C:\recipe\1,C:\recipe\2,C:\recipe\3,"

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

import sys
import os
import re

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

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'没有正确转义造成的。我尝试了许多其他转义控制字符的方法,但似乎都不起作用。我做错了什么?

最佳答案

使用 raw string :

line = r"C:\recipe\1,C:\recipe\2,C:\recipe\3,"

关于python - 提取文件路径时无法转义控制字符 "\r",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35687393/

相关文章:

python - 字典神奇地转换为在 nosetests 中设置

Python Matplotlib - 未对齐的网格线和颜色填充

python - 如何在 Django 1.4(使用一台 Apache 服务器)中使用 django.contrib.staticfiles 提供管理静态文件?

newline - 什么是回车、换行和换页?

python - 检测 tty 输出结束

python - 在 Dreamhost 上安装 Python 3

python - 如何复制这个维基百科情节?

bash - 如何通过评估 bash 控制字符来摆脱它们?

unicode - U+0085 NEXT LINE (NEL) 是否已弃用?

text - 什么是文件/组/记录/单位分隔符控制字符及其用法?