Python逐行写入文本文件

use*_*436 10 python

我试图将Python脚本的结果输出到文本文件,其中每个输出应保存到一行.

f1=open('./output.txt', 'a')
f1.write(content + "\n")
Run Code Online (Sandbox Code Playgroud)

当我output.txt用常规打开时,notepad结果如下所示:

color amber color aqua color analysis color app color adobe color alive app
Run Code Online (Sandbox Code Playgroud)

但是,当我打开文件notepad++时看起来很好,每个单词都保存在一行上.

如何使脚本逐行保存结果,以便在常规记事本中显示相同内容?

Key*_*Usr 12

好吧,你遇到的问题是错误的行结尾/编码记事本.记事本使用Windows的行结尾 - \r\n您使用\n.


ACh*_*ion 12

您可能希望查看os依赖行分隔符,例如:

import os

with open('./output.txt', 'a') as f1:
    f1.write(content + os.linesep)
Run Code Online (Sandbox Code Playgroud)

  • 由于`os.linesep`上的[官方文档](https://docs.python.org/2/library/os.html#os.linesep),我投了这票. (11认同)
  • 好点,但是OP应该没有问题,但他们是,建议写''\ r \n'`是我的回应 - 使用`os.linesep`更便携. (4认同)
  • 最好的解决方案!比f1.write(content +“ \ n”)好 (2认同)
  • 通常,当使用 `f1.write(content + "\n")` 时,python 会自动将 `"\n"` 转换为 `os.linesep` (/sf/ask/2665236801/操作系统-linesep-for)。问题应该在其他地方... (2认同)