Python:如何不断更新文本行

Python: how to constantly update text lines

我有一个 20 行的列表,0 或 2。现在我让它根据 ping 结果重写文本文件的 20 行。我有一个单独的程序读取那 20 行,但是当没有 20 行时它会产生错误(因为正在写入文本文件)。如何在不重写文档的情况下编辑每个单独的文本行?

    ping ip
    if ping == 0
       f= open("status", 'ab')
       f.write("0\n")
       f.close

这是它如何书写的一个条件。我会在执行之前擦除文档。

如果我正确理解标题中 constantly 的用法,那么您是在尝试在此处传递实时数据...程序不应通过文件进行实时通信。这并不稳定 非常慢 。如果不是这种情况,您可能需要重写文件,用 w(写入)而不是 a(追加)打开它。

if ping == 0
   with open("status", 'wb') as f:
       # write all 20 lines

详细了解 modes

注意: 要实际关闭文件,您应该 调用 file.close 使用 f.close() 而不是 f.close。如果你像我建议的那样使用 with 作为上下文管理器,一旦上下文结束,文件就会关闭(缩进 returns 到 with 级别)。