Hello, On Sat, Mar 7, 2009 at 11:03 AM, Harris, Sarah L <sarah.l.har...@jpl.nasa.gov> wrote: > import zipfile, glob, os > os.chdir('E:\\test1') > from os.path import isfile > fname=filter(isfile, glob.glob('*.zip')) > for fname in fname: > zipnames=filter(isfile, glob.glob('*.zip')) > for zipname in zipnames: > zf=zipfile.ZipFile(zipname, 'r') > for zfilename in zf.namelist(): > newFile=open(zfilename, 'wb') > newFile.write(zf.read(zfilename)) > newFile.close() > zf.close()
I assume this zf,close() call is indented one more level, so it's inline with the zf= zipfile.ZipFile(...) As for the memory error, zf.read(zfilename) returns the entire set of bytes based on the documentation of the archive member. There's this call: http://docs.python.org/library/zipfile.html#zipfile.ZipFile.open which returns a file-like object (http://docs.python.org/library/stdtypes.html#file-objects), in particular you can use read(num_bytes) on the returned file like object till you encounter EOF so you can do step-by-step reads (and writes) instead of reading the entire file into memory. -- Kamal -- There is more to life than increasing its speed. -- Mahatma Gandhi _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor