Python provides a number of modules for dealing with compressed files. The zipfile module allows you to unzip files in Python
Table of contents
Unzip one file
To begin, import the zipfile module:
import zipfile
myZipFile = 'archive.zip'
Next, create an instance of the ZipFile class, which will represent our zipped file and extract the contents of myZipFile by using the extractall() method
destination_folder = '.'
with zipfile.ZipFile(myZipFile, 'r') as zip_ref:
zip_ref.extractall(destination_folder)
The extractall() method takes a single argument, which is the destination path where we want our files to be extracted. The destination path must exist before calling this method, or else an error will be thrown.
Unzip multiple files
import glob
root = '/Volumes/HD2/Datasets/'
zip_files = glob.glob('{}*.zip'.format(root))
len(zip_files)
Output for example
156
For each zip file, iterate through it and create a separate folder to unzip its contents.
import zipfile
import os
for myzipfile in zip_files:
destination_folder = myzipfile.split('.')[0]
os.makedirs(destination_folder, exist_ok=True)
with zipfile.ZipFile(myzipfile, 'r') as zip_ref:
zip_ref.extractall(destination_folder)
References
Links | Site |
---|---|
zipfile | docs.python.org |