Issue #22201: Command-line interface of the zipfile module now correctly
extracts ZIP files with directory entries. Patch by Ryan Wilson.
diff --git a/Lib/zipfile.py b/Lib/zipfile.py
index a0beae2..fe71765 100644
--- a/Lib/zipfile.py
+++ b/Lib/zipfile.py
@@ -1492,18 +1492,7 @@
sys.exit(1)
with ZipFile(args[1], 'r') as zf:
- out = args[2]
- for path in zf.namelist():
- if path.startswith('./'):
- tgt = os.path.join(out, path[2:])
- else:
- tgt = os.path.join(out, path)
-
- tgtdir = os.path.dirname(tgt)
- if not os.path.exists(tgtdir):
- os.makedirs(tgtdir)
- with open(tgt, 'wb') as fp:
- fp.write(zf.read(path))
+ zf.extractall(args[2])
elif args[0] == '-c':
if len(args) < 3: