私は所有しているフルーツの数を保持するファイルを持っています。最新の状態に保つために毎分編集する必要があります。ファイルを常時更新しています
apples: 3
bananas: 6
oranges: 12
total: 21 fruits
このファイルを編集するにはPythonを使用します。しかし、私はいくつかの問題に遭遇しました:
1)私は現在、次のように読み書きしています。
with open(file, 'r') as infile:
# read fruits that I have
infile.close()
with open(file, 'w') as outfile:
while True:
# update data and write to file
outfile.close()
より良い/より効率的な方法(メモリマッピングなし)がありますか? f.seek(offset、from_what)を使用してみましたが、これは独自の問題です(リンゴが1桁から2桁になるとファイルの残りの部分がスローされます)。
2)どのように変化しているのでしょうか?私は "tail -f"をやってみましたが、現在ファイルを編集しているので、新しいファイル全体全体を追加します。
3)私はいつもファイルを編集しているので、いつでも猫やヴィムにファイルをしようとすると、不完全です!理想的にはファイルを開き、そのファイル全体が表示され、更新されていることがわかります。
読んでいただきありがとうございます!
somefile.close()を使用する必要はありません。with文は、スコープ外になったらそれを行います。ループを開始するたびにファイルを開く必要があります(coutless systemcallが発生し、速度が遅くなります)。どのような種類のデータを文字列や生のバイトで処理していますか?あなたはコードの残りの部分を投稿できますか? – wind85
@ wind85私はStringsで働いています。 – ZtoYi
'wb'はデータをバイトとして扱い、 'b'はバイナリモードを表します。 – wind85