Python 如何在一个唯一的file.write请求之后写入到一个新行,而不总是在文本文件的同一行上?

Python 如何在一个唯一的file.write请求之后写入到一个新行,而不总是在文本文件的同一行上?,python,python-3.x,Python,Python 3.x,我有一个程序可以写入文本文件。它工作得很好,但是有一个问题: 我需要它,以便程序在每次调用后写入新行,例如: 我第一次调用将单词“test1”写入文本文件,它做得很好 但是后来我发出了一个命令来写一个单词“test2”。它只是覆盖了第一个单词“test1”,但我希望它在另一行 请注意,我并不是一次完成所有工作,因为我的程序的全部目的是保存每个命令,将某些内容作为单独的行写入文本文件 迄今为止的代码: fixRes = (var1, ":", var2, ":", var3, ":", var4,

我有一个程序可以写入文本文件。它工作得很好,但是有一个问题:

我需要它,以便程序在每次调用后写入新行,例如:

我第一次调用将单词“test1”写入文本文件,它做得很好

但是后来我发出了一个命令来写一个单词“test2”。它只是覆盖了第一个单词“test1”,但我希望它在另一行

请注意,我并不是一次完成所有工作,因为我的程序的全部目的是保存每个命令,将某些内容作为单独的行写入文本文件

迄今为止的代码:

fixRes = (var1, ":", var2, ":", var3, ":", var4,)
            fixtureTXT = open("fix.txt", "w")
            fixtureTXT.writelines("\n")
            fixtureTXT.writelines(fixRes)
            fixtureTXT.writelines("\n")

            fixtureTXT.close()

每次都要重新打开文件进行写入,而
'w'
模式首先清除文件

如果要附加到文件,请使用
'a'

fixtureTXT = open("fix.txt", "a")
如果使用
with
语句打开文件,作为上下文管理器,则不必对其调用
.close()

with open("fix.txt", "w") as fixtureTXT:
    fixtureTXT.write("\n" + fixRes + "\n')

这样就足够了。

是否每次要写入文件时都要重新打开该文件?为什么你要用
'r+'
打开它,而你所做的一切都是对它进行写入?嗨,Martijn。我现在把它改成了“w”。然而,实际的程序使用
'a'
进行附加,没有任何变化
r+
将文件位置放在文件的开头,
'w'
打开时截断(清除)文件<代码>'a'追加到文件末尾。非常感谢!成功了。你是否可以选择你的评论作为最佳答案,正如你通过评论所说的那样?已经将其作为答案发布在下面;您可以将其标记为已接受(一旦您的帖子发布15分钟)。