我正在读取一个包含以下内容的文件:
这是第一行\n这是第二行\n\n另一行
我正在尝试读取此文件并保持特殊字符 \n
不变。
with open(r'test.txt') as f:
c = f.read()
但是打印 c
总是显示:
这是第一行\\n这是第二行\\n\\n另一行
我试过在 r'text.txt'
中不使用 r
前缀,但它没有改变任何东西。
是否可以防止转义特殊字符\n
?
我当然可以做一个 str.replace('\\n','\n')
,但我只是想知道我们是否可以不用这个额外的步骤。
最佳答案
我看到两种情况:
您正在使用 Python 2 在文本模式下的 Windows 上阅读它。Windows 使用
\r\n
,因此文本模式下的 Python 2 需要\r\n
。您应该通过添加U
、open('file.txt', 'rU')
来启用通用换行模式。您还可以使用io.open
而不是open
。我没有 Python 2,所以我还没有尝试过...您的文件中确实有两个字符
<\
和n
而不是换行符,在这种情况下一切都按预期运行。
关于Python:读取文件:防止转义特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46634045/