Extract files from a ZIP file in Python

Hello friends, many times you must have uncompressed a ZIP file using an external tool. In this tutorial, I will tell you how you can extract files from a ZIP file using Python

Extract files from a ZIP file in Python

To uncompress a ZIP file we can use Python’s inbuilt functions, zipfile.ZipFile and shutil.

You can check: Create a ZIP file and add files to it using Python

1 . Using zipfile.ZipFile

One needs to read the ZIP file, to be able to extract files from the file. I have used the ZipFile object and specified the path to my ZIP file and the mode of access. I have opened the file in ‘r’ i.e. the read mode. You can also alias the name of the read file by using the as keyword. I have aliased my file as zip_file. I have not added a password to my ZIP file, but in case there is one you can add the parameter pwd and mention your password as a string.

There are two ways you can extract files. One is the extractall() function and the other one being extract(). The former uncompress the whole ZIP file at once. You can also specify the path to the target directory. By default, it’s the current directory.

Code : 

with ZipFile("{ZIP file path}", 'r') as zip_file:
    zip_file.extractall()

Output : 

Extract files from a ZIP file in Python

extract() function returns only the file that you mention. In my example, I have specified ‘7.png’ as the file that I want to uncompress. Similarly, you can specify the path of the target directory.

Code : 

with ZipFile("{ZIP file path}", 'r') as zip_file:
    zip_file.extract('7.png')

Output : 

Using zipfile.ZipFile

2 . Using shutil

You can use the shutil module to uncompress a ZIP file. The first thing I have done in my code is to import the module. I have taken a temporary variable filepath to store my ZIP file’s path. unpack_archive() function helps you to uncompress the ZIP file. I have given the variable filepath as an argument, but you can pass the path’s value directly as well.

Code : 

import shutil 

filename = "C:\\Users\\PC\\Desktop\\intern_python\\ZIP files\\My ZIP file.zip"
shutil.unpack_archive(filename, extract_dir = "C:\\Users\\PC\\Desktop\\intern_python\\ZIP files")

extract_dir takes the value of the target directory. If no value is specified, the current directory is the folder where all the uncompressed files are stored.

Output : 

Using shutil

Now you can easily uncompress a ZIP file using Python.

Leave a Reply

Your email address will not be published. Required fields are marked *