【问题标题】:Python write line by line to a text file [duplicate]Python逐行写入文本文件[重复]
【发布时间】:2016-02-28 17:04:39
【问题描述】:

我正在尝试将 Python 脚本的结果输出到文本文件,每个输出都应保存到一行。

f1=open('./output.txt', 'a')
f1.write(content + "\n")

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

color amber color aqua color analysis color app color adobe color alive app

但是,当我使用notepad++ 打开文件时,它看起来很好,并且每个单词都保存在一行中。

如何让脚本逐行保存结果,以便在常规记事本上显示相同?

【问题讨论】:

  • cs.toronto.edu/~krueger/csc209h/tut/line-endings.html 你应该在 Windows 上使用 '\r\n'
  • 你用的是什么安装的python?
  • 你能在 Notepad++ 中显示结束字符以便我们看到发生了什么吗? (有关如何启用该功能,请参阅here
  • 如果 python 文档写得正确,你就不需要问这个问题。然而,这不是你的错,它的 python 文档很差。

标签: python


【解决方案1】:

您可能想查看依赖于操作系统的行分隔符,例如:

import os

with open('./output.txt', 'a') as f1:
    f1.write(content + os.linesep)

【讨论】:

  • 因为os.linesep 上的official documentation,我投了反对票
  • 好点,但是 OP 不应该有问题,但他们是,建议写 '\r\n' 是我的回应 - 使用 os.linesep 更便携。
  • 最佳解决方案!比 f1.write(content + "\n")
  • 我们绝对需要import os吗?
  • @NdeSamuelMbah 如果你想使用os.linesep - 你可以。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-11
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-01
    • 2017-05-21
    • 1970-01-01
    相关资源
    最近更新 更多