pythonのbz2の使い方
概要
- 圧縮率が高い
- ストリーム書き込み等ができる
- 歴史的な経緯により
bz2.open
とbz2.BZ2File
関数がそれぞれあるが機能に差はない
代表的な使用例
import bz2
with bz2.open("a", "at") as fp:
fp.write("foo\n")
with bz2.open("a", "at") as fp:
fp.write("bar\n")
with bz2.open("a", "rt") as fp:
for line in fp:
print(line.strip())
wikipediaのログをストリームで読込みながらxmlをパースする例
import bz2
with bz2.BZ2File(filename, 'r') as fp:
context = lxml.etree.iterparse(fp, events=('end',), tag='{http://www.mediawiki.org/xml/export-0.10/}page')
...