could ildg said unto the world upon 28/06/2005 03:29: > but the file is just stored, > and not compressed. > > On 6/28/05, could ildg <[EMAIL PROTECTED]> wrote: > >>Thank you, >>it works~~ >> >>On 6/29/05, Peter Szinek <[EMAIL PROTECTED]> wrote: >> >>>Hi, >>> >>>What about this: >>> >>>import os,zipfile >>>from os.path import join >>> >>> >>>zip = zipfile.ZipFile("myzipfile.zip", 'w') >>>for root, dirs, files in os.walk('.'): >>> for fileName in files: >>> zip.write(join(root,fileName)) >>>zip.close() >>> >>>Maybe it zips also the myzipfile.zip ;-) >>>Probably this is not needed, so an additional test (something like >>>fileName != 'myfile.zip' would be needed. >>> >>>HTH, >>>Peter >>> >>>could ildg wrote: >>> >>>>I want to compress a folder and all of its sub files including empty folders >>>>into a zip file. what's the pythonic way to do this? >>>> >>>>Thanks in advance. >>> >>>
This thread got me to read the relevant docs: 7.18.1 ZipFile Objects "class ZipFile( file[, mode[, compression]]) Open a ZIP file, where file can be either a path to a file (a string) or a file-like object. The mode parameter should be 'r' to read an existing file, 'w' to truncate and write a new file, or 'a' to append to an existing file. For mode is 'a' and file refers to an existing ZIP file, then additional files are added to it. If file does not refer to a ZIP file, then a new ZIP archive is appended to the file. This is meant for adding a ZIP archive to another file, such as python.exe. Using cat myzip.zip >> python.exe 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; unrecognized values will cause RuntimeError to be raised. If ZIP_DEFLATED is specified but the zlib module is not available, RuntimeError is also raised. The default is ZIP_STORED." http://docs.python.org/lib/zipfile-objects.html So, it would appear that compression requires a 3rd party module, not included in Python (and not present on my Windows box). I'm presently filing a bug suggesting this be made a touch more explicit in the zlib docs. Best to all, Brian vdB -- http://mail.python.org/mailman/listinfo/python-list