1

json ファイルがあり、このファイルは 5 分ごとに更新されます。最初に、開始点からファイルを解析します。ここで、15 ~ 20 分ごとにこの json ファイルを解析する必要があります。解析されたファイルの最後の行を格納するポインターのようなものを格納する方法はありますか? 15/20 分後に再びファイルを解析する必要がある場合、そのポインターから開始する必要があります (同じデータ (履歴データを解析するため) )は非常に非効率的であり、プロセスが遅くなる可能性があります)?

4

2 に答える 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 に答える