Python 如何在后续运行中覆盖以追加模式打开的文件

Python 如何在后续运行中覆盖以追加模式打开的文件,python,Python,我已经在附加模式下打开了我的文件,它工作正常,但当我再次运行程序时,它不会覆盖以前的内容。我不知道哪里出了错。这可能是一个非常基本的问题,但我对python还不熟悉。请帮忙 with open(Result,"a") as f: csv_writer = csv.writer(f, delimiter=',') csv_writer.writerow((fn1,fn2)) 我需要附加内容,但在下次运行程序时也需要覆盖它。要覆盖以前的内容,请在“w”模式下打开文件。(写入

我已经在附加模式下打开了我的文件,它工作正常,但当我再次运行程序时,它不会覆盖以前的内容。我不知道哪里出了错。这可能是一个非常基本的问题,但我对python还不熟悉。请帮忙

with open(Result,"a") as f:
      csv_writer = csv.writer(f, delimiter=',')
      csv_writer.writerow((fn1,fn2))

我需要附加内容,但在下次运行程序时也需要覆盖它。

要覆盖以前的内容,请在
“w”
模式下打开文件。(写入模式)


如果要覆盖旧内容,为什么要以追加模式打开?追加模式是“请不要覆盖旧内容”选项。我也尝试过以写入模式打开。但当我以写入模式打开时,它只会写入我需要的最后一个结果。@Sukrit Kalarat您的问题可能是在代码中,您正在为每一行打开文件。不要那样做;打开它一次,保持打开状态,然后用一个writer进行所有
writerow
调用。写完后再关上。如果循环中有带的
,则可能需要将带
放在循环周围。是否在脚本中多次打开该文件?如果是这样,第一次以写模式打开,然后为其他模式追加。或者,在写入模式下打开一次,在完成所有需要的写入后关闭。谢谢你。我更正了它,现在它工作正常。
with open(Result,"w") as f:
      csv_writer = csv.writer(f, delimiter=',')
      csv_writer.writerow((fn1,fn2))