我的Python脚本需要每秒多次将状态写入文本文件,从而覆盖以前的内容.
fp = open('status.txt', 'w')
fp.write('12983214/23180100')
fp.close()
Run Code Online (Sandbox Code Playgroud)
您如何建议实施此项目以尽量减少在此花费的时间?命令行电话?单独的线程?
看起来你正在写出一个进度号码.这意味着你的字符串永远不会变短,只会更长.
因此,您不必在每次写入之前截断它 - 只需回到开头并写入前一个值.使用刷新进行跟进,以便数据可用于监视状态的任何内容.
这样做几次不应该花费任何大量的时间,这是最简单的解决方案.
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()
Run Code Online (Sandbox Code Playgroud)
如果状态字符串可以变短,只需添加即可
fp.truncate(0)
Run Code Online (Sandbox Code Playgroud)
之前write.您仍然需要,seek因为截断不会更改当前文件位置.
所有这些方法都记录在内置文件对象中.