1

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

我尝试了以下方法,但没有奏效?

out.seek(0, 1)
4

2 回答 2

6

这得看情况...

  • 如果您不关闭文件,也不seek在两次写入操作之间移动文件指针(使用 ),则会在末尾自动附加新内容:

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

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

    或(如果您使用上下文管理器):

    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")
    
于 2013-06-27T10:54:54.820 回答
1

以模式打开文件append

open(filename, 'a')

来自文档

'a' 打开文件进行追加;写入文件的任何数据都会自动添加到末尾。

于 2013-06-27T10:51:59.963 回答