2017-09-02 88 views
0

我理解移動鼠標指針了一行:如何通過使用附加文件,同時附加一個文本文件

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

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

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

回答

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是重要之前讀線,讓你有一個指針的開始那條線。