如何使用 Python 写入文本文件,以便我可以在 terminal/gnuplot 中同时读取它
How to write to a text file using Python such a way that I can read it simultaneously in the terminal/gnuplot
我是 运行 一个很长的 Python 程序,它以迭代方式将值打印到 .txt 文件。我正在尝试使用终端 "gedit/tail/less" 命令读取值并尝试在 Gnuplot 中绘制它们。但是在整个执行结束之前我无法读取 .txt 文件。这种文件处理的正确论点是什么?
文件在关闭或缓冲区太大无法存储时写入。
即使您使用 file.write("something"),也不会在文件中写入某些内容,直到您关闭文件或块结束。
with open("temp.txt","w") as w:
w.write("hey")
x=input("touch")
w.write("\nhello")
w.write(x)
运行这段代码在touch之前尝试读取文件,它会是空的,但是在with块结束后你可以看到内容。
如果您要从多个来源访问该文件,那么您必须小心这一点,并且不要从多个来源修改它。
编辑:我忘了说,如果您希望其他程序在写入文件时读取它,则必须不断关闭文件并以附加模式打开它。
我是 运行 一个很长的 Python 程序,它以迭代方式将值打印到 .txt 文件。我正在尝试使用终端 "gedit/tail/less" 命令读取值并尝试在 Gnuplot 中绘制它们。但是在整个执行结束之前我无法读取 .txt 文件。这种文件处理的正确论点是什么?
文件在关闭或缓冲区太大无法存储时写入。
即使您使用 file.write("something"),也不会在文件中写入某些内容,直到您关闭文件或块结束。
with open("temp.txt","w") as w:
w.write("hey")
x=input("touch")
w.write("\nhello")
w.write(x)
运行这段代码在touch之前尝试读取文件,它会是空的,但是在with块结束后你可以看到内容。
如果您要从多个来源访问该文件,那么您必须小心这一点,并且不要从多个来源修改它。
编辑:我忘了说,如果您希望其他程序在写入文件时读取它,则必须不断关闭文件并以附加模式打开它。