[Tutor] Unzipping a Zip of folders that have zips within them that I'd like to unzip all at once.

Oscar Benjamin oscar.j.benjamin at gmail.com
Sun Sep 23 23:29:55 CEST 2012

On Sep 21, 2012 8:10 PM, "Gregory Lund" <gnj091405 at gmail.com> wrote:
> print zipContents
> z.close

You need to have round brackets to actually call the close method, i.e.:


> ----------------------------------------
> It works, I get the following in the Python Shell:
> '>>> ================================ RESTART
> '>>>'
> ['Lab_2/aforker/', 'Lab_2/aforker/aforker_Lab2.zip',
> 'Lab_2/allisw99/', 'Lab_2/allisw99/allisw99_Lab2.zip',
> 'Lab_2/allisw99/allisw99_Lab2_Bonus.pdf', 'Lab_2/allisw992/',
> 'Lab_2/allisw992/allisw99_Lab2_Bonus.pdf', 'Lab_2/btaylor7/',
> 'Lab_2/btaylor7/2nd_btaylor7_Lab2.zip',
> 'Lab_2/btaylor7/btaylor7_Lab2.zip', 'Lab_2/']

Did you mean to have the paths of folders (e.g. 'Lab_2/aforker') in the
same list as the paths of zip-files (e.g. 'Lab_2/aforker/aforker_Lab2.zip')?

> '>>> '
> But, what I can't figure out is how to get 'into' each unique folder:
> aforker, allisw99, etc. and then extract any and all zips within
> 'aforker', 'allisw99', etc.
> I have no doubt that the suggestions posted here will work, but they
> all seem to get away from a single .py file and....
>  a) I can't get them to work, and
> b) it doesn't really help me because I need ONE stand alone .py file
> to make this all work in ArcGIS.

I don't know what ArcGIS is but if it runs Python then I'm sure that it can
be done with a stand alone .py file.

>  I will be using this to create an ArcGIS 'tool' that requires one
> script (at least for me to comprehend it) :-)
> Thank you in advance for any and all suggestions, tips etc.
> For the record, I did try the following  (to at least try
> something....) at  the bottom of the code above:
> -----------------------
> for item in zipContents:
>     itemLoc = os.path.join(outDir,item)
>     y = zipfile.ZipFile(itemLoc,'a')
>     y.extractall(os.path.aplit(itemLoc)[0])
>     y.close
> ------------------------
> but I get the following error:
> Traceback (most recent call last): File
> "D:\D_Drive_Documents\Scripts\Unzip_a_zip_of_zips\Scripts\unzip_a_zip.py",
> line 50, in y = zipfile.ZipFile(itemLoc,'a') File
> "C:\Python26\ArcGIS10.0\lib\zipfile.py", line 687, in init self.fp =
> open(file, modeDict[mode]) IOError: [Errno 13] Permission denied:
> 'D:\D_Drive_Documents\Student_Work_Sample_usecopy1\Lab_2/aforker/'

You're trying to open the directory as if it were a zipfile. You should
pass in the path to a zipfile not to a folder.

Also you're opening the files in append mode 'a'. I think you really want
read-only mode 'r'.

> I guess my first issue is to resolve the 'Permission denied' problem.
> And, I know I need an 'if' statement, somehow...

Remove the folder paths from the list of paths.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20120923/afcb43f6/attachment.html>

More information about the Tutor mailing list