On Mon, 08 Dec 2008 14:21:40 +0000, MRAB <[EMAIL PROTECTED]> wrote: > Jorgen Grahn wrote: >> On Sat, 06 Dec 2008 10:01:10 +0000, Arnaud Delobelle <[EMAIL PROTECTED]> >> 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. ...
> 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. Not tarfile, since that's usually a container for many files. But ok, maybe you are right about placing it in a different module -- even though it's fairly common for Unix application to accept plain files, gzipped files and nothing else. Note that such a module should handle reading sys.stdin and other non-disk files. That's a bit tricky, because when you realize that you guessed wrong on the format, you have already consumed and discarded some of the data. I started looking at such a module a year ago, but never finished it. /Jorgen -- // Jorgen Grahn <grahn@ Ph'nglui mglw'nafh Cthulhu \X/ snipabacken.se> R'lyeh wgah'nagl fhtagn! -- http://mail.python.org/mailman/listinfo/python-list