首页 > 解决方案 > 在脚本开始时清除/创建文件,否则追加

问题描述

我正在使用open模式将行附加到文件中:

Chimera=open("file.txt","a")

我这样做是循环的。

如果重新运行脚本,我希望清除该文件,而不是附加到先前运行创建的文件。我怎样才能做到这一点?

这是一个例子

liste=["A","B","C"]

file= open("file.txt","a")
for i in liste:
   print(i, file= file)

所以我得到了file.txt,例如:

A
B
C

但是如果我再次运行相同的脚本,我会得到:

A
B
C
A
B
C

而不仅仅是

A
B
C

标签: python

解决方案


只需打开文件进行写入而不是附加. 即使在写入模式下,您也可以多次写入同一个文件对象,将内容“附加”到结果文件中。

不同之处在于写入模式("w")每次都会从一个空文件开始,而追加模式("a")将追加到任何已经存在的文件

基本上,只需执行以下操作:

liste = ["A","B","C"]

with open("file.txt", "w") as liste_file:
    for i in liste:
        print(i, file=liste_file)

推荐阅读