首页 > 解决方案 > 如何使用 Python 写入文本文件,以便我可以在终端/gnuplot 中同时读取它

问题描述

我正在运行一个长的 Python 程序,它以迭代的方式将值打印到 .txt 文件中。我正在尝试使用终端“gedit/tail/less”命令读取值并尝试在 Gnuplot 中绘制它们。但在整个执行结束之前,我无法读取 .txt 文件。这种文件处理的正确论点是什么?

标签: pythonfile-handling

解决方案


当文件关闭或缓冲区太大而无法存储时,将写入文件。

即使您使用 file.write("something"),也不会在文件中写入某些内容,直到您关闭文件或 with 块结束。

with open("temp.txt","w") as w:
  w.write("hey")
  x=input("touch")
  w.write("\nhello")
  w.write(x)

运行此代码并尝试在触摸之前读取文件,它将为空,但是在 with 块结束后您可以看到内容。

如果您要从多个来源访问该文件,那么您必须小心这一点,并且不要从多个来源修改它。

编辑:我忘了说,如果您希望其他程序在您写入文件时读取它,您必须不断关闭文件并以附加模式打开它。


推荐阅读