python - 如何使用 Python 写入文本文件,以便我可以在终端/gnuplot 中同时读取它
问题描述
我正在运行一个长的 Python 程序,它以迭代的方式将值打印到 .txt 文件中。我正在尝试使用终端“gedit/tail/less”命令读取值并尝试在 Gnuplot 中绘制它们。但在整个执行结束之前,我无法读取 .txt 文件。这种文件处理的正确论点是什么?
解决方案
当文件关闭或缓冲区太大而无法存储时,将写入文件。
即使您使用 file.write("something"),也不会在文件中写入某些内容,直到您关闭文件或 with 块结束。
with open("temp.txt","w") as w:
w.write("hey")
x=input("touch")
w.write("\nhello")
w.write(x)
运行此代码并尝试在触摸之前读取文件,它将为空,但是在 with 块结束后您可以看到内容。
如果您要从多个来源访问该文件,那么您必须小心这一点,并且不要从多个来源修改它。
编辑:我忘了说,如果您希望其他程序在您写入文件时读取它,您必须不断关闭文件并以附加模式打开它。
推荐阅读
- python-3.x - Selenium 代码在本地运行但不在服务器上
- api - 如何在 .NET Core 3 中添加全局值?
- java - 为什么 getTableRow().getItem() 返回一个空引用,即使不是空行?
- python - 如何将 geoDataFrame 导入 MySQL?
- python - 如何在不按 Enter 的情况下显示我的输入提示?
- python - 我怎样才能修复这个 BeautifulSoup 网站抓取 NHL 参考?
- c++ - operator= 重载,终止符递归调用
- c# - 为 C# 中的对象列表提供控制台输入
- python - 如何使用 API 数据输出创建数据集
- c++ - 从文件读取对象的c ++编译错误