2017-09-02 7 views
0

を追加しながら、ラインをポインタを上に移動する私が使用してファイルを追加していることを理解する:どのようにテキストファイル

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

ポインタはファイルの最後の行に設定されます。追加する前に、その行にあるものを削除/置換するためにポインタを1行上に移動する方法がありますか(\nの反対)。新しいコンテンツをファイルに追加する前に最後の行から削除する必要があることがあります。

私は、ファイルにストーリーが含まれていて最後の行が "続けるには"であることを示すために使用できます。追加してストーリーを続行したい場合は、を削除する方法がありますか?新しいコンテンツを書き込む前に「続ける」?また、ポインタを1行上に移動し、新しいコンテンツを "続けるには"を上書きすることもできます。

答えて

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を使用して)位置をつかむことが重要であるので、あなたはの先頭へのポインタを持っていますその行

関連する問題