試す


大規模なテキストファイルへの効率的なアクセス

Date: 2019-12-12
Tags: 2019pythontext



きっかけ

テキストファイルから時刻を元に抽出して計算することが多い。しかしファイルサイズがギガバイトを超えると抽出でモタつく。効率的にファイルアクセスするべく試した現状を記す。ただし未だ模索中。


概要


linecache

linecacheはpythonのモジュールでキャッシュを使って任意の行を取得するもの。

linecache.getline(filename, lineno, module_globals=None)
行末に改行が入るので消すのにrstrip()を使う。
linecache.getline(filename, lineno, module_globals=None).rstrip()
取得したらキャッシュはクリアする。
linecache.clearcache()
linechacheする部分はfor文だが、ファイルを普通にopenして読み込むよりは速い。



<PrevNext>