diff -r 101f90e8f032 Lib/zipfile.py --- a/Lib/zipfile.py Tue Aug 19 18:20:48 2014 +0300 +++ b/Lib/zipfile.py Tue Aug 19 10:28:41 2014 -0700 @@ -1775,7 +1775,10 @@ if os.path.isfile(path): zf.write(path, zippath, ZIP_DEFLATED) elif os.path.isdir(path): - for nm in os.listdir(path): + dirs = os.listdir(path) + if not dirs: + zf.write(path, zippath, ZIP_DEFLATED) + for nm in dirs: addToZip(zf, os.path.join(path, nm), os.path.join(zippath, nm)) # else: ignore