思路比较笨,但好像也没有什么好方法。

即,每次写入时,先把原有数据复制一下,然后用覆盖的方式写入新数据,然后在新数据后面追加刚刚复制出来的原有数据。

with open(txt_path, 'r+', encoding='utf-8') as f:   # 把旧数据先复制一下
Original_Data = f.readlines()
with open(txt_path, 'w+', encoding='utf-8') as f: # w+从头开始全覆盖。用新数据把旧数据全覆盖
for line in New_Data:
f.write(line)
with open(txt_path, 'a+', encoding='utf-8') as f: # 在新数据后面再追加备份出的老数据
for line in Original_File:
f.write(line)