simple UnZip
MRAB
google at mrabarnett.plus.com
Wed Jul 2 11:25:42 EDT 2008
On Jul 2, 3:07 pm, Cédric Lucantis <o... at no-log.org> wrote:
> Le Wednesday 02 July 2008 15:39:51 noydb, vous avez écrit :
>
>
>
> > Can someone help me with this script, which I found posted elsewhere?
> > I'm trying to figure out what is going on here so that I can alter it
> > for my needs, but the lack of descriptive names is making it
> > difficult. And, the script doesn't quite do anything worthwhile -- it
> > unzips one file from a zipfile, not all files in a zipfile.
>
> > ***
> > import zipfile, os, sys, glob
>
> > os.chdir("C:\\Temp")
> > zips = glob.glob('*.zip')
>
> > for fzip in zips:
> > if zipfile.is_zipfile(fzip):
> > print fzip," is a zip"
> > z = zipfile.ZipFile(fzip,'r')
> > lstName = z.namelist()
> > sHgt = lstName[0]
> > print "Unpacking",sHgt
> > hgt = z.read(sHgt)
> > fHgt = open(sHgt,'wb')
> > fHgt.write(hgt)
> > # fHgt.flush
> > fHgt.close
> > print "Finished"
> > ***
>
> > I changed it somewhat to
> > &&&
> > import zipfile, os, sys
>
> > event_zip = ("C:\\Temp\\data4event.zip")
>
> > z = zipfile.ZipFile(event_zip, 'r')
>
> > zList = z.namelist()
>
> > for zItem in zList:
> > print "Unpacking",zItem
> > zRead = z.read(zItem)
> > z1File = open(zItem,'wb')
> > z1File.write(zRead)
> > z1File.close
It's not actually closing the file. It should be:
z1File.close()
>
> namelist() returns a list of relative file names, so you can just put them
> anywhere you want with:
>
> zlFile = open(os.path.join(DESTDIR, zItem), 'wb')
>
> or change the current directory, but the first way should be preferred.
>
> > print "Finished"
> > &&&
>
> > This works, but I want to be able to specify a different output
> > location.
>
> --
> Cédric Lucantis
More information about the Python-list
mailing list