json ファイルがあり、このファイルは 5 分ごとに更新されます。最初に、開始点からファイルを解析します。ここで、15 ~ 20 分ごとにこの json ファイルを解析する必要があります。解析されたファイルの最後の行を格納するポインターのようなものを格納する方法はありますか? 15/20 分後に再びファイルを解析する必要がある場合、そのポインターから開始する必要があります (同じデータ (履歴データを解析するため) )は非常に非効率的であり、プロセスが遅くなる可能性があります)?
2 に答える
2
(ファイルから読み取った後)ファイルの tell() メソッドを使用すると、現在のポインターが返されます。次に読むときは、ファイルの seek() 関数を使用して、ポインターを古い位置に設定します。
例:
f = open("test.json" , "w+")
.....
.....
your code for reading
f.read()
.....
.....
last_position = f.tell() # return current position of file pointer(where you stoped reading)
今度はファイルから読み取るときに seek() 関数を使用します
f = open("test.json" , "w+")
f.seek(last_position)
f.read() # now this will start reading from last position
これが役立つことを願っています:)
于 2013-09-23T06:46:08.023 に答える
0
linecacheの python doc を参照してください
于 2013-09-23T06:35:47.243 に答える