Where can I suggest an enchantment for Python Zip lib?
durumdara
durumdara at gmail.com
Fri Jun 8 03:18:00 EDT 2007
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 <larry.ba... at websafe.com> 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
More information about the Python-list
mailing list