为了账号安全,请及时绑定邮箱和手机立即绑定

Python 在读取文本文件时将 \n 更改为 \\n

Python 在读取文本文件时将 \n 更改为 \\n

互换的青春 2023-07-05 15:40:30
我有一个文本文件,其中包含 \n 作为新行。在Python 3.6中,当我使用以下代码加载它时:file = open(file_name, 'r') contents = file.read()它将所有 \n 更改为 \\n。例如:txt文件中的原文:This is a test \n plus senond \n test.在Python中阅读后:"This is a test \\n plus senond \\n test."我需要保留所有 \n 作为新行并对其进行更多分析(使用 reg ex)。读取文件并解决此问题的正确方法是什么?
查看完整描述

2 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

在 Python 中读取文件时,默认情况下会保留所有实际的换行符(换行符/LF、十六进制值 0x0A)。但您的文件似乎包含转义序列,您希望将其转换为实际的单个换行符。

在这种情况下,只需使用:print(contents.replace("\\n", "\n"))


查看完整回答
反对 回复 2023-07-05
?
www说

TA贡献1775条经验 获得超8个赞

从哪里获得双反斜杠输出?我刚刚自己测试了这一点,并且都打印从文件中读取的内容并将其写回另一个文件,似乎只是保留一组......


代码:


file = open("test.txt", 'r')

contents = file.read()

print(contents)

file.close()

file2 = open("test2.txt", "w")

file2.write(contents)

file2.close()

包含的输入文件的编码


This is a test \n plus senond \n test.

在我的例子中,输出文件(结果完全相同)是UTF-8。也许这与此有关?只是猜测


我无法复制您的问题,但正如 shredEngineer 所说,您可以通过简单的替换手动修复它。知道为什么你的代码添加第二个反斜杠会很有趣......



查看完整回答
反对 回复 2023-07-05
  • 2 回答
  • 0 关注
  • 278 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信