如何在文件中写换行符?

2024-04-19 22:46:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我想写一个文件:

for i in range(0,3):
    f.write(str(l[i])+"\n")

当我用记事本打开.txt文件时,输入并没有用换行符隔开。你知道吗


Tags: 文件intxtforrangewrite记事本str
1条回答
网友
1楼 · 发布于 2024-04-19 22:46:57

您的文件可能以二进制模式打开,使用python2。你知道吗

通过以文本模式而不是二进制模式打开文件来避免这些换行问题("wb",在python 2中允许使用文本):

with open("foo.txt","w") as f:
    for i in range(0,3):
        f.write(str(l[i])+"\n")

这在任何系统上都是可移植的,但在Windows上确实很有趣。你知道吗

在Windows上,文本模式会发出一个额外的\r回车字符,因此像notepad这样的基本程序会理解有换行符(在Windows上是本机的\r\n)。如果您也使用"r"进行读取,那么这个回车字符是透明的(不会妨碍您)。你知道吗

python3的打开模式更加清晰:不可能以二进制格式打开文件并在其中写入文本。因此,几乎不可能犯这样的错误,如果反过来做,可能会致命。(就像臭名昭著的将二进制数据写入文本“破坏”文件一样,用13+10替换所有10字符)

相关问题 更多 >