65

我已经使用 python 创建了一个带有几行文本的 txt 文件,这些文本将由一个简单的程序读取。但是,我在重新打开文件并在程序的后面部分在文件中写入其他行时遇到了一些麻烦。(这些行将根据稍后获得的用户输入写入。)

with open('file.txt', 'w') as file:
    file.write('input')

这是假设之前已经打开并写入了“file.txt”。但是,在第二次打开它时,使用我目前拥有的代码,我必须删除之前编写的所有内容并重写新行。有没有办法防止这种情况发生(并可能减少再次打开文件的过多代码)?

4

3 回答 3

70

如果要附加到文件,请使用'a'. 如果要在文件中查找应该插入行的位置,请使用'r+'. (文档

于 2012-05-17T17:49:06.247 回答
67

打开文件以“追加”而不是“写入”。

with open('file.txt', 'a') as file:
    file.write('input')
于 2012-05-17T17:50:19.480 回答
16

使用'a''a'手段append。写入使用属性打开的文件的任何内容'a'都写入文件末尾。

with open('file.txt', 'a') as file:
    file.write('input')
于 2012-05-17T17:50:59.490 回答