簡體   English   中英

如何在附加文本文件時將指針向上移動一行

[英]How to move the pointer up a line while appending a text file

我了解通過使用以下內容附加文件:

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

指針將設置在文件的最后一行。 有沒有辦法讓我將指針向上移動一行(與\\n相反)以刪除/替換該行開始之前的內容? 在將新內容添加到文件之前,必須從最后一行中刪除某些內容。

我可以使用一個示例來說明我的意思是,如果文件包含一個故事,並且最后一行是“ 待續 ”。 當我想通過追加內容繼續故事時,有沒有辦法在編寫任何新內容之前刪除“待續” 如果我只需將指針向上移動一行並用新內容覆蓋“ 繼續 ”,它也將起作用!

可能這不是最佳答案,但是它可以工作:

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 )很重要,因此您有一個指向該行開頭的指針。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM