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) 
1

unzip, defined below, is what you want.

def unzip(source_filename, dest_dir): with zipfile.ZipFile(source_filename) as zf: zf.extractall(dest_dir) 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy