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