2016-07-01 9 views
1

私は、Pythonが十分にスマートなので、繰り返しアクセスされたファイルをキャッシュすることができますか?同じCSVファイルをパンダで読み込んだり、同じファイルを複数回読みとったりするときに便利です。Pythonキャッシュに繰り返しアクセスするファイルはありますか?

これはPythonの責任でも、オペレーティングシステムがそれを処理する必要がありますか?

+3

いいえ、そうではありません。 OS **は**です。 – Bakuriu

+1

いいえ、Pythonはキャッシュしません。その間に彼らが変わったなら、あなたは知りたくありませんか?むしろ、ファイル(および他の比較的遅いIO操作)を扱うコードをより賢明に書くべきです。 – jonrsharpe

+0

あまりにも小さなファイルを書き込もうとすると、単にファイルの読み込み時間を計算するタイミング関数を書き、ファイルを複数回ループ*で読み込もうとすると、タイミングが低下することがわかります私はちょうど私のLinuxボックスを試して、5回繰り返した後にタイミングを半分にしました)しかし、キャッシュがかなり速くクリアできることに注意してください。同じファイルが10秒や30秒後に読み込まれると、 – Bakuriu

答えて

3

いいえ、Pythonは単なる言語であり、実際には何もしません。特定のPythonライブラリはキャッシングを実装するかもしれませんが、ファイルのオープンや読み込みに使用する標準関数はそうしません。 PandasとCSVモジュールの上位レベルのファイルロード機能は、キャッシングも行いません。

オペレーティングシステムによっては、独自のキャッシュがいくつかあるかもしれませんが、Python内でキャッシュを制御することはできません。

関連する問題