Python 快速写入状态文件

Python 快速写入状态文件,python,file-io,Python,File Io,我的Python脚本需要每秒将状态写入文本文件几次,覆盖前面的内容 fp = open('status.txt', 'w') fp.write('12983214/23180100') fp.close() 您建议如何实现此功能以尽量减少在此处花费的时间?命令行呼叫?独立线程 看起来你在写进度编号。这意味着你的字符串永远不会变短,只会变长 正因为如此,您不必在每次写入之前截断它—只需返回到开头,并覆盖上一个值即可。随后进行刷新,以便监控状态的任何人都可以使用数据 一秒钟做几次应该不会花费太多时

我的Python脚本需要每秒将状态写入文本文件几次,覆盖前面的内容

fp = open('status.txt', 'w')
fp.write('12983214/23180100')
fp.close()

您建议如何实现此功能以尽量减少在此处花费的时间?命令行呼叫?独立线程

看起来你在写进度编号。这意味着你的字符串永远不会变短,只会变长

正因为如此,您不必在每次写入之前截断它—只需返回到开头,并覆盖上一个值即可。随后进行刷新,以便监控状态的任何人都可以使用数据

一秒钟做几次应该不会花费太多时间,这是最简单的解决方案

fp = open('status.txt', 'w')

#whenever you want to write
fp.seek(0)
fp.write('12983214/23180100')
fp.flush()

#when you're done
fp.close()
如果状态字符串可能变短,只需添加

fp.truncate(0)
在写之前。您仍然需要查找,因为截断不会更改当前文件的位置


所有这些方法都记录在下。

看起来您在写进度编号。这意味着你的字符串永远不会变短,只会变长

正因为如此,您不必在每次写入之前截断它—只需返回到开头,并覆盖上一个值即可。随后进行刷新,以便监控状态的任何人都可以使用数据

一秒钟做几次应该不会花费太多时间,这是最简单的解决方案

fp = open('status.txt', 'w')

#whenever you want to write
fp.seek(0)
fp.write('12983214/23180100')
fp.flush()

#when you're done
fp.close()
如果状态字符串可能变短,只需添加

fp.truncate(0)
在写之前。您仍然需要查找,因为截断不会更改当前文件的位置


所有这些方法都记录在。

每秒多次将状态写入文本文件中 我认为您可以保存文件实例,直到您不想写入它为止。现在关闭文件实例。在结束之前,你可以写很多次。 打开和关闭通常需要一些效率

覆盖以前的内容
如果覆盖了前面的内容,为什么不在结束时间内编写最终结果

每秒多次将状态写入文本文件 我认为您可以保存文件实例,直到您不想写入它为止。现在关闭文件实例。在结束之前,你可以写很多次。 打开和关闭通常需要一些效率

覆盖以前的内容
如果覆盖了前面的内容,为什么不在结束时间内编写最终结果

这是一个监视器,在它自己的线程中可能是最好的,但这不会影响给出的答案。甚至可能?这是一个监视器,在它自己的线程中可能是最好的,但不会影响给出的答案。甚至可能?我很难理解你想说什么。你能说得更清楚些吗?他需要写新的值,因为有东西在重复读取文件以跟踪状态信息-这不是最终值。@agf:他们的观点很清楚:不要将文件用于它们不适用的目的。@thg435在Unix/Linux上,一切都是文件。整个文件系统都致力于这样的信息通信——procfs、sysfs等等。这是一种非常有效的文件使用方式。我很难理解你想说什么。你能说得更清楚些吗?他需要写新的值,因为有东西在重复读取文件以跟踪状态信息-这不是最终值。@agf:他们的观点很清楚:不要将文件用于它们不适用的目的。@thg435在Unix/Linux上,一切都是文件。整个文件系统都致力于这样的信息通信——procfs、sysfs等。这是一种非常有效的文件使用方法。