如何每隔一行写入文件?

Posted

技术标签:

【中文标题】如何每隔一行写入文件?【英文标题】:How to write to a file every next line? 【发布时间】:2019-03-31 21:22:16 【问题描述】:

我在 python tkinter 中工作,我正在尝试编写一个代码来将一些内容写入文件并保存它。我已经使用 filedialog 来做到这一点。我希望在下一行写下内容。虽然运行代码时出现如此多的错误,但即使在写入“\n”之后,它也不会写入下一行。 "\n" 只是在后面添加一个空格。 如何解决这个问题?

我尝试过以不同的方式使用“\n”关键字。然而,它没有写入下一行。相反,它只在后面添加一个空格,就像 &nbsp 一样。

以下是代码的相关部分:

def save_file(event=""):
    data = filedialog.asksaveasfile(mode="w", defaultextension=".html")
    if data is None:
        return

    data.write("Content-1" + "\n"+ "Content-2" + "\n")
    data.close()

我希望将数据写入文件中:

内容-1

内容 2

但它正在写入文件: 内容 1 内容 2

【问题讨论】:

【参考方案1】:

您正在创建 html - 文件。 \n 如果您使用浏览器查看您的文件(这是 html-files 的首选),这将毫无意义。

如果您希望在显示解释的 html 时使用浏览器中断文件,则需要在文件中写入 html-linebreaks。

data.write("Content-1" + "<br>\n"+ "Content-2" + "<br>\n")

这样您就可以在浏览器中“看到”htlm 换行符。

在文本文件编辑器(而不是浏览器)中编辑您的文件,以查看实际写入文件的 \n

【讨论】:

非常感谢您的帮助。它工作正常。我还有一个小疑问,如果您也能清楚这一点,那将有很大帮助。我想用不同的非罗马脚本将内容写入 .html 文件。就像,我正在尝试用印地语编写它,这是一个梵文脚本,但它没有显示任何内容。如何解决这个问题?我试过这样做: data = filedialog.asksaveasfile(mode="w", defaultextension=".html", encoding='utf-8') @prat 不确定我可以。如果它不相关,请提出一个新问题,SO 会处理它。 我添加了一个详细的问题。请通过这个-***.com/questions/55459768/…

以上是关于如何每隔一行写入文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何将日期字符串添加到连续写入的日志文件的每一行

如何让 MySQL 以不同的用户身份写入输出文件?

如何在 CSV 文件的一行中写入任意数量的列表元素?

如何从流中读取 CSV 文件并在写入时处理每一行?

让linux系统每隔1分钟ping一个目标IP,目标IP也是linux,获取IP后写入某个文件

如何在现有 csv 文件中写入新行而不将其附加到最后一行?