[python] Pozor na potize s paralelnim bzip2 (pbzip2, lbzip2)

Petr Viktorin encukou na gmail.com
Úterý Leden 6 09:51:11 CET 2015


2015-01-06 9:34 GMT+01:00 Vladimir Macek <macek na sandbox.cz>:
> Ahoj, varovani:
>
> Zacali jsme pred casem na logy pouzivat paralelni kompresor pbzip2.
> Nadherne zrychli kompresi!
>
> Z principu ale vytvari tzv. multi-stream tvar, tedy vice bzip2 proudu v
> serii. Proto jeho format neni zcela kompatibilni s puvodnim bzip2.
> Dekomprese v shellu nicmene nevykazuje problemy, napriklad pomoci
> standardniho bzip2, bzcat).
>
> Dnes jsem se ale spalil, protoze modul bz2 z Pythonu 2.6 ani 2.7 tento
> multi-stream bzip2 neumi nacist:
>
> BEZ INDIKACE CHYBY (!) skonci dekompresi po n-stovkach tisic bajtu (zalezi
> na tom, jak byl pbzip2 spusten). Je to znamy problem, jehoz reseni se
> vyvojari rozhodli nebackportovat z Python 3, pouze ho zdokumentovat:
> http://bugs.python.org/issue1625.

Backportoval to někdo jiný, jak už to u vylepšených/nových py3 modulů
bývá: https://github.com/nvawda/bz2file

pip install bz2file


> Obejdu to pomozi os.popen('bzcat ...').
>
> Takze, na bz2 nespolehat! Neni vsechno ruzove...


Další informace o konferenci Python