[Python-Dev] LZMA compression support in 3.3
"Martin v. Löwis"
martin at v.loewis.de
Sat Aug 27 17:15:09 CEST 2011
> As for file formats, these are handled by liblzma itself; the extension module
> just selects which compressor/decompressor initializer function to use depending
> on the value of the "format" argument. Our code won't contain anything along the
> lines of GzipFile; all of that work is done by the underlying C library. Rather,
> the LZMAFile class will be like BZ2File - just a simple filter that passes the
> read/written data through a LZMACompressor or LZMADecompressor as appropriate.
This is exactly what I worry about. I think adding file I/O to bz2 was a
mistake, as this doesn't integrate with Python's IO library (it used
to, but now after dropping stdio, they were incompatible. Indeed, for
Python 3.2, BZ2File has been removed from the C module, and lifted to
Python.
IOW, the _lzma C module must not do any I/O, neither directly nor
indirectly (through liblzma). The approach of gzip.py (doing IO
and file formats in pure Python) is exactly right.
Regards,
Martin
More information about the Python-Dev
mailing list