我理解通过使用以下方法附加文件:
f = open("filename.txt", "a+"),
指针将设置在文件的最后一行。有没有办法让我将指针向上移动一行(与\n
相反),以便在开始追加之前删除/替换该行中的内容?在将新内容添加到文件之前,我必须从最后一行删除。
我可以用来说明我的意思的例子是文件是否包含故事,最后一行是" 要继续"。当我想通过附加来继续故事时,有没有办法在写入任何新内容之前删除"继续" ?如果我可以将指针向上移动一行并覆盖" 继续"它也可以工作。新内容!
答案 0 :(得分:0)
这可能不是最好的答案,但它有效:
with open("filename.txt", "r+") as f:
position = f.tell()
line = f.readline()
while line != 'To be continued\n':
position = f.tell()
line = f.readline()
f.seek(position, 0)
f.write("New line to be added\n")
f.write('To be continued\n')
在读取一行之前抓住位置(使用tell
)非常重要,因此你有一个指向该行开头的指针。