我想在外部文件中保存循环计数器,以便能够在结束时恢复循环,以防它崩溃或在结束前停止。因此,对于每个循环,我想用计数器覆盖第一行。现在我知道我可以通过每次调用open(file, 'w')
来做到这一点,但我想知道它是否会引起一些问题。
答案 0 :(得分:1)
这是一个强力解决方案,如果你处理大量的迭代器,这可能是低效的:
def write_to_file():
for i in range(5):
with open("temp", "w") as f:
# change this to the command you want to store
f.write("This is iteration {}\n".format(i))
# checking the file contents, contains only last command
with open("temp", "r") as f:
print f.read()
接近它的另一种方法是读取该行并将其复制。从这里查看更多信息:change first line of a file in python
如果您的代码在写入最后一行之前崩溃(因此您有错误的数据),或者如果您在写入时每次再次打开文件时,保留文件中的最后一行可能会有问题,它必须执行大量操作操作并且可能很慢。