mcl <[EMAIL PROTECTED]> writes:

> I am trying to unzip an 18mb zip containing just a single 200mb file
> and I get a Memory Error.  When I run the code on a smaller file 1mb
> zip, 11mb file, it works fine.
(...)
> def unzip_file_into_dir(file, dir):
>       #os.mkdir(dir, 0777)
>       zfobj = zipfile.ZipFile(file)
>       for name in zfobj.namelist():
>               if name.endswith('/'):
>                       os.mkdir(os.path.join(dir, name))
>               else:
>                       outfile = open(os.path.join(dir, name), 'wb')
>                       outfile.write(zfobj.read(name))
>                       outfile.close()

The "zfobj.read(name)" call is reading the entire file out of the zip
into a string in memory.  It sounds like it's exceeding the resources
you have available (whether overall or because the Apache runtime
environment has stricter limits).

You may want to peek at a recent message from me in the "Unable to
read large files from zip" thread, as the suggestion there may also be
suitable for your purposes.

http://groups.google.com/group/comp.lang.python/msg/de04105c170fc805?dmode=source
-- David
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to