说我有python代码:
print("1")
print("2")
print("3")
print("go")
会产生结果:
1
2
3
go
如果我想覆盖打印的最后一行,我会做类似的事情:
print("\rJohn Cena")
这将打印到控制台,
1
2
3
John Cena
但是,如果我使用>
将该输出传送到文本文件,则文本文件将显示为
1
2
3
go^MJohn Cena
如何使用print语句覆盖上一行文本,以便文本文件中的输出与控制台的输出相匹配?
答案 0 :(得分:2)
您必须重新写入该文件(即读取它,替换该行,然后将其写回)。或者,您可以将要写入的内容存储到文件中(例如,作为列表),根据需要进行修改,然后在完成后写入。
您还可以考虑以块的形式编写:在它们仍在变化时一次存储部分,然后立即将它们写出来(例如10或100行的块)。