如何使用python向现有文件添加行

时间:2012-05-17 17:47:24

标签: python file

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

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

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

4 个答案:

答案 0 :(得分:50)

如果要附加到该文件,请使用'a'将其打开。如果要查找文件以找到应插入行的位置,请使用'r+'。 (docs

答案 1 :(得分:38)

打开文件'append'而不是'write'。

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

答案 2 :(得分:9)

使用'a''a'表示append。写入以'a'属性打开的文件的任何内容都写在文件的末尾。

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

答案 3 :(得分:9)

上面的答案是正确的,但要将数据附加为新行,而不是将其添加到文件最后一行的末尾,请使用以下内容:

with open('file.txt', 'a') as file:
    file.writelines('input')