Skip to main content
 首页 » 编程设计

python之快速写入状态文件

2025年05月04日16落叶

我的 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) 

在写入之前。您仍然需要 seek,因为截断不会更改当前文件位置。

所有这些方法都记录在 built-in file objects 下.