重复附加到文本文件

时间:2013-06-27 10:49:38

标签: python

我在python程序中多次写同一个文本文件。如何在文本文件末尾写新内容?那就是我总是需要将指针放在“out”文件的行尾并写入新文本。

我尝试过以下哪些不起作用?

out.seek(0, 1)

2 个答案:

答案 0 :(得分:6)

嗯,这取决于......

  • 如果您没有关闭文件并且没有在两次写入操作之间移动文件指针(使用seek),则会在结尾处自动添加新内容:

    file.write("Hello")
    file.write("World")
    
  • 如果您已关闭文件,可以在"a"(追加)模式下重新打开文件

    file.write("Hello")
    file.close()
    
    file = open("myfile.txt", "a")
    file.write("World")
    

    或(如果您使用context managers):

    with open("myfile.txt", "w") as file
        file.write("Hello")
    
    # implicit close here
    
    with open("myfile.txt", "a") as file
        file.write("World")
    
  • 如果您使用seek移动了文件指针,则可以使用seek(0,2)定位到最后(这意味着“从末尾开始的零字节”)

    file.write("Hello")
    file.seek(here-or-there)
    file.do_this_or_that
    
    file.seek(0, 2)
    file.write("World")
    

答案 1 :(得分:1)

append模式打开文件:

open(filename, 'a')

来自docs

  

'a'打开要追加的文件;写入文件的任何数据都是   自动添加到最后。