Pythonでスマートなファイルの読み込み方法は?
元は http://blog.lampetty.net/blog_ja/index.php/archives/418
あまり考えてなかったんだけど,どでかいファイルを扱う時はメモリの消費を抑える書き方が一番いい(特にNLPはメモリの消費がデカい場合がそれなりにある)
結論からいうと,「ぼくの書き方はまずかった」ということ.
for i in open('hoge', 'r').readline(): print i;
っていう書き方はファイルが全部メモリに乗るからアウト.
メモリに優しく,モダンな書き方は
from __future__ import with_statement with open('/tmp/test.txt') as f: for line in f: print line