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

use*_*462 49 python file

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

with open('file.txt', 'w') as file:
    file.write('input')
Run Code Online (Sandbox Code Playgroud)

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

Dou*_*gal 55

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


Jef*_*f L 43

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

with open('file.txt', 'a') as file:
    file.write('input')
Run Code Online (Sandbox Code Playgroud)

  • 注意!这不会添加换行符.如果需要在文本文件中添加一行(而不是行片段),请使用`\n`结束数据,例如:`file.write('input \n')` (18认同)

v4g*_*gil 12

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

with open('file.txt', 'a') as file:
    file.writelines('input')
Run Code Online (Sandbox Code Playgroud)


Ash*_*ary 9

使用'a','a'意思是append.写入带有'a'属性的文件的任何内容都写在文件的末尾.

with open('file.txt', 'a') as file:
    file.write('input')
Run Code Online (Sandbox Code Playgroud)