gzip.GzipFile (was Re: Don't you just love writing this sort of thing :))

MRAB google at mrabarnett.plus.com
Mon Dec 8 15:21:40 CET 2008

Jorgen Grahn wrote:
> On Sat, 06 Dec 2008 10:01:10 +0000, Arnaud Delobelle <arnodel at googlemail.com> wrote:
> ...
>> Why use (open, gzp.GzipFile)[Entry.endswith(".gz")] when we have had
>> contitional expressions for a few years now?  Instead, you can write
>>     (gzip.GzipFile if entry.endswidth(".gz") else open).
>> I think it will be faster (as it doesn't require the construction of a
>> tuple and then the retrieval of one of its elements) and clearer.
> Even clearer would be if gzip.Gzipfile could (optionally) read
> non-gzipped files and file-like objects, like the gzip Unix commands
> zcat -f, zgrep and so on.
> Also, making a decision based on the .gz part of the name isn't
> always correct -- you miss files named foo.Z and similar.
gzip is for reading gzipped files. IMHO it would be better to have a 
de-archive module which uses the gzip, tarfile, etc, modules as necessary.

More information about the Python-list mailing list