Python zipfile module is used to read and write the zip files. Here we will see how to create a zip file in python using
How to create Zip file in python:
Usecase: Choose a directory and make the zip file out of it.
import zipfile import os def prepare_zip(dir_path): new_file = dir_path + '.zip' # creating zip file with write mode zip = zipfile.ZipFile(new_file, 'w', zipfile.ZIP_DEFLATED) # Walk through the files in a directory for dir_path, dir_names, files in os.walk(dir_path): f_path = dir_path.replace(dir_path, '') f_path = f_path and f_path + os.sep # Writing each file into the zip for file in files: zip.write(os.path.join(dir_path, file), f_path + file) zip.close() print("File Created successfully..") return new_file if __name__ == '__main__': prepare_zip('C:\\Users\\Lenovo\\Documents\\Data')
ZipFile() creates a new zip file with write permissions by taking the path parameter. Walkthrough each file and folders into the given directory and write them into the zip file.
File Created successfully..
You can see the created zip in the given directory.
How to unzip/extract Zip file in python:
data.zip file I am going to extract here.
zipfile.extractall() function extracts all members from the archive to the current working directory.
Unzip the file in current working directory:
def extract_zip(dir_path): with zipfile.ZipFile(dir_path+'data.zip', 'r') as zip_inst: zip_inst.extractall()
The above code extracts the content of the data.zip file in current working directory.
Unzip the file in a different location:
If you wish to extract the content in a different location, you have to supply that path to the
def extract_zip(dir_path): with zipfile.ZipFile(dir_path+'data.zip', 'r') as zip_inst: zip_inst.extractall(dir_path)
Then you can see the extracted content in the given path.
Happy Learning 🙂