hogeとはワイルドカードのようなものです。日々起こった、さまざまなこと −すなわちワイルドカード− を取り上げて日記を書く、という意味で名付けたのかというとそうでもありません。適当に決めたらこんな理由が浮かんできました。
05/23/2004 ふーむ [長年日記]
tDiary 577日目
■ [日記] ストリームフィルタ
Python でストリームをフィルタする方法がわからん.
import re pattern = re.compile('\r\n|\r') def filter_func(elem): elem = unicode(elem, 'sjis', 'replace') elem = pattern.sub('\n', elem) return elem file = open('hogehoge.txt', 'r') file = FILTER(filter_func, file) while True: line = file.readline() if not line: break print line
というようなことがやりたいんだけど… map して string.join して StringIO だと,いったん全てをメモリに読み込んでそれから処理するという意味だから,巨大なファイルを扱うときやばそう.つかそんなことするくらいならわざわざ map なんか使わず readlines; string.join; filter_func; StringIO のが速そうだ.
while 内で line に対してほげほげするのは却下.ファイルオブジェクトそのものを引数に取るメソッドに送ることができない.
こういうのって組み込みでありそうだと思うんだけどなあ….Python 本を一度も読んだことがないというのはやっぱイカンな.いつまで経ってもモグリだ.
■ [小ネタ] 指一本で人を葬る - 「秘孔」は存在するか
邪魔する奴は指先ひとつでダウンどころか爆発だよね.