Hi Larry! > durumdara wrote: > You can easily find out roughly how many bytes are in your .ZIP archive > by using following: > > zipbytes=Zobj.fp.tell() >
The main problem is not this. I want to write a backup software, and I want to: - see the progress in the processing of the actual file - abort the progress if I need it If I compress small files, I don't have problems. But with larger files (10-20 MB) I get problems, because the zipfile's method is uninterruptable. Only one way I have to control this: if I modify the ZipFile module. dd On Jun 7, 8:26 pm, Larry Bates <[EMAIL PROTECTED]> wrote: > Where Zobj is your zipfile instance. You don't need a callback. > > Problem is ill defined for a better solution. You don't know how much > the "next" file will compress. It may compress a lot, not at all or > in some situations actually grow. So it is difficult (impossible?) to > know how many bytes are remaining. I have a rough calculation where > I limit the files to 2Gb, but you must set aside some space for the > table of contents that gets added at the end (whose size you don't > actually know either). So I use: > > maxzipbytesupperlimit=int((1L<<31)-(8*(1<<20))) > > That is 2Gb-8Mb maximum TOC limit of a zip file. > > I look at zipbytes add the uncompressed size of the next file, if it > exceeds maxzipbytesupperlimit, I close the file and move to the next > zip archive. If it is smaller, I add the file to the archive. > > Hope this helps. > > -Larry -- http://mail.python.org/mailman/listinfo/python-list