如何在附加文本文件时将指针向上移动一行

时间:2017-09-02 08:39:16

标签: python append

我理解通过使用以下方法附加文件:

f = open("filename.txt", "a+"),

指针将设置在文件的最后一行。有没有办法让我将指针向上移动一行(与\n相反),以便在开始追加之前删除/替换该行中的内容?在将新内容添加到文件之前,我必须从最后一行删除。

我可以用来说明我的意思的例子是文件是否包含故事,最后一行是" 要继续"。当我想通过附加来继续故事时,有没有办法在写入任何新内容之前删除"继续" ?如果我可以将指针向上移动一行并覆盖" 继续"它也可以工作。新内容!

1 个答案:

答案 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非常重要,因此你有一个指向该行开头的指针。