[英]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.