Python Zipfile. Extract() Doesn't Extract All Files
I'm Trying to Extract Zipped Folder Using Code Found Here. Def Unzip(Source_Filename, Dest_Dir): with Zipfile. Zipfile(Source_Filename) as Zf: for Member in...
I'm trying to extract zipped folder using code found here.
def unzip(source_filename, dest_dir):
with zipfile.ZipFile(source_filename) as zf:
for member in zf.infolist():
words = member.filename.split('/')
path = dest_dir
for word in words[:-1]:
drive, word = os.path.splitdrive(word)
head, word = os.path.split(word)
if word in (os.curdir, os.pardir, ''): continue
path = os.path.join(path, word)
zf.extract(member, path)
But when trying to extract, for example, wordpress.zip with directory structure
wordpress/
-wp-content/
---somefile.php
-wp-config.php
-index.php
I only get the files in folder below root folder or wordpress/ in this case. So i get wordpress/wp-content/somefile.php but not the files in the wordpress/ folder itself.
2 Answers
The first place to look is the documentation:
ZipFile.extractall([path[, members[, pwd]]])
Applying that to your situation, I'd try:
def unzip(source_filename, dest_dir):
with zipfile.ZipFile(source_filename) as zf:
zf.extractall(dest_dir)
unzip, defined below, is what you want.
def unzip(source_filename, dest_dir):
with zipfile.ZipFile(source_filename) as zf:
zf.extractall(dest_dir)