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.
I am running on a hosted Apache web server I am using some code I found on the web somewhere. 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() Error Traceback: Line 357 gives the Memory Error I have removed paths from file references ============================================== MemoryError Python 2.3.4: /usr/bin/python Wed Aug 29 19:38:22 2007 A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred. /qlunzip.py 58 59 60 if __name__ == "__main__" : 61 unzipMain() 62 unzipMain = <function unzipMain> /qlunzip.py in unzipMain() 53 destdir = getDestDir() 54 print destdir, gv.nl 55 unzip_file_into_dir(zips, destdir) 56 57 global unzip_file_into_dir = <function unzip_file_into_dir>, zips = '/ pcodes.zip', destdir = '/pcodes/' /qlunzip.py in unzip_file_into_dir(file='pcodes.zip', dir='pcodes/') 34 else: 35 outfile = open(os.path.join(dir, name), 'wb') 36 outfile.write(zfobj.read(name)) 37 outfile.close() 38 outfile = <open file 'pcodes/pcodes.lst', mode 'wb'>, outfile.write = <built-in method write of file object>, zfobj = <zipfile.ZipFile instance>, zfobj.read = <bound method ZipFile.read of <zipfile.ZipFile instance>>, name = 'pcodes.lst' /usr/lib/python2.3/zipfile.py in read(self=<zipfile.ZipFile instance>, name='pcodes.lst') 355 # zlib compress/decompress code by Jeremy Hylton of CNRI 356 dc = zlib.decompressobj(-15) 357 bytes = dc.decompress(bytes) 358 # need to feed in unused pad byte so that zlib won't choke 359 ex = dc.decompress('Z') + dc.flush() bytes = '\xc4\x9d]\x93\xab8\x92\x86\xef7b\xff\x83\xa3/\xf6f\xba \xa7\xe7\xa2g#vwf6\x8a\x02\xc3\xd04\x8d\r\x1e\x7f\xdclP\xb6\xcav\x1c \xca\xd4`\xfbx...; \xb7jp\x06V{\xaf\xc3\xa5\xa7;\xdd\xd2\xaaD\x7f)c \xc6\x9d\x0f\xf2\xff-\xc9\x92\xc3\x1d\xa4`\xe0\xb8\x06)\x188\x9cA\n \x06\x8e\x1bPc\xf8\xf0\x1f', dc = <zlib.Decompress object>, dc.decompress = <built-in method decompress of zlib.Decompress object> MemoryError: args = () ============================================================ Any help much appreciated Richard -- http://mail.python.org/mailman/listinfo/python-list