在 Python 中向文本文件写入内容时,换行符的处理与打开文件的 newline 参数有关。
Linux 系统的换行符就是 \n(LF),如果你希望写入的文件在任何操作系统下都使用 \n 换行 (包括在 Windows 上运行时),可以在 open() 中指定 newline='\n'。
代码
python
with open('output.txt', 'w', newline='\n', encoding='utf-8') as f:
f.write('第一行\n第二行\n第三行')
配合 print 写入时也保持 \n
print 默认会在末尾添加 os.linesep,在 Windows 下仍然是 \r\n。只需在打开文件时同样设置 newline='\n',然后指定 end='\n' 即可:
python
with open('output.txt', 'w', newline='\n', encoding='utf-8') as f:
print('第一行', file=f, end='\n')
print('第二行', file=f, end='\n')