我在python程序中多次写同一个文本文件。如何在文本文件末尾写新内容?那就是我总是需要将指针放在“out”文件的行尾并写入新文本。
我尝试过以下哪些不起作用?
out.seek(0, 1)
答案 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)