On Feb 17, 6:52 am, Tim Chase <[EMAIL PROTECTED]> wrote: > > Thanks! Works indeed. Strange thing is though, the files created are the > > exact size as the original file. So it seems like it is zipping without > > compression. > > The instantiation of the ZipFile object can take an optional > parameter to control the compression. The zipfile module only > supports storing (the default as you discovered) and "deflation": > > f = zipfile.ZipFile(zipfilename, 'w', > compression=zipfile.ZIP_DEFLATED) > > You can read more at > > http://docs.python.org/lib/zipfile-objects.html
Confession: An infrequent user of the zipfile module, I've been caught twice by this strange choice of default argument. I wonder how many people actually need/want the stored (uncompressed ) format. The select few must surely document that their choice is deliberate: f = zipfile.ZipFile( zipfilename, mode='w', compression=zipfile.ZIP_STORED, # no compression # Yes the above is deliberate. # See section n.nn of project specs. ) Suggestion: for the benefit of folk who (unlike the OP and I) do read the manual, it might help if the text had one paragraph per arg, and included a warning: """ ... also works, and at least WinZip can read such files. /compression/ is the ZIP compression method to use when writing the archive, and should be ZIP_STORED or ZIP_DEFLATED. *WARNING:* the default is ZIP_STORED (no compression). Unrecognized values will cause RuntimeError to be raised. If ZIP_DEFLATED is specified but the zlib module is not available, RuntimeError is also raised. If /allowZip64/ is True ... """ Cheers, John -- http://mail.python.org/mailman/listinfo/python-list