如何在文本文件中的字符串末尾添加换行符?
How do I add a linebreak at the end of a string in text files?
我试过这样做:
with open("contactbook.txt","a") as f:
f.write("hello\n")
但它被打印为:
'hello\n'
我读取文件的代码:
with open("contactbook.txt","r") as f:
lines = sorted(f.readlines())
print(lines)
编辑:
我试图检查文本文件,\n 确实被解释为换行符!
但是在python的shell中它仍然显示为\n
我做错了什么?是因为我打印的方式吗?
写得很好。
问题在于,当您读回文件时,您会在单个 print(lines)
语句中打印出整个 lines
列表;这将为您提供一个适合调试的表单,而不是真正用于向最终用户显示的表单,包括将控制字符写为 \n
等。
如果您以任何其他方式检查该文件,您将能够确认它包含您想要的内容。
以防万一有像我一样的人遇到同样的问题...
我之前的代码的问题是我打印它的方式,所以通过将我 read/print 它的方式更改为:
with open('contactbook.txt', 'r') as f:
for lines in sorted(f):
print(lines, end='')
现在可以使用了!
sabik 的回答让我意识到了这一点! :)
我试过这样做:
with open("contactbook.txt","a") as f:
f.write("hello\n")
但它被打印为:
'hello\n'
我读取文件的代码:
with open("contactbook.txt","r") as f:
lines = sorted(f.readlines())
print(lines)
编辑:
我试图检查文本文件,\n 确实被解释为换行符!
但是在python的shell中它仍然显示为\n
我做错了什么?是因为我打印的方式吗?
写得很好。
问题在于,当您读回文件时,您会在单个 print(lines)
语句中打印出整个 lines
列表;这将为您提供一个适合调试的表单,而不是真正用于向最终用户显示的表单,包括将控制字符写为 \n
等。
如果您以任何其他方式检查该文件,您将能够确认它包含您想要的内容。
以防万一有像我一样的人遇到同样的问题...
我之前的代码的问题是我打印它的方式,所以通过将我 read/print 它的方式更改为:
with open('contactbook.txt', 'r') as f:
for lines in sorted(f):
print(lines, end='')
现在可以使用了!
sabik 的回答让我意识到了这一点! :)