diff -r 2057d5fc951c Lib/zipfile.py --- a/Lib/zipfile.py Sun May 17 18:59:27 2009 +0200 +++ b/Lib/zipfile.py Mon May 18 00:52:25 2009 -0400 @@ -970,8 +970,11 @@ if upperdirs and not os.path.exists(upperdirs): os.makedirs(upperdirs) - if member.filename[-1] == '/': + if member.filename[-1] == '/' and not os.path.exists(targetpath): os.mkdir(targetpath) + return targetpath + + elif member.filename[-1] == '/': return targetpath source = self.open(member, pwd=pwd)