python zipfile extract to directory code example

Example 1: how to unzip files using zipfile module python

import zipfile
with zipfile.ZipFile("file.zip","r") as zip_ref:
    zip_ref.extractall("targetdir")

Example 2: how to save unzipped files in python

import zipfile
def un_zipFiles(path):
    files=os.listdir(path)
    for file in files:
        if file.endswith('.zip'):
            filePath=path+'/'+file
            zip_file = zipfile.ZipFile(filePath)
            for names in zip_file.namelist():
                zip_file.extract(names,path)
            zip_file.close()

Example 3: python zip extract directory

import zipfile

archive = zipfile.ZipFile('archive.zip')

for file in archive.namelist():
    if file.startswith('foo/'):
        archive.extract(file, 'destination_path')

Example 4: how to extract zip file using python

ZipFile.extractall(path=None, members=None, pwd=None)

Example 5: extracting zip files python

import os
import optparse
import zipfile

def get_arguments():
    parser = optparse.OptionParser()
    parser.add_option("--src","--source",dest="paths", help="Removing file with extension .SRT and .VTT")
    (options,arguments)=parser.parse_args()
    if not options.paths:
        parser.error("[-] Please specify source, use --help for more info.")
    return options


def Source_folder(folder_path):
    print('[+] Extracting zip file')
    for path, dir_list, file_list in os.walk(folder_path):
        try:
            for file_name in file_list:
                if file_name.endswith(".zip"):
                    abs_file_path = os.path.join(path, file_name)
                    parent_path = os.path.split(abs_file_path)[0]
                    output_folder_name = os.path.splitext(abs_file_path)[0]
                    output_path = os.path.join(parent_path, output_folder_name)

                    zip_obj = zipfile.ZipFile(abs_file_path, 'r')
                    zip_obj.extractall(output_path)
                    zip_obj.close()

        except FileNotFoundError:
            print('Error', file_name)


options = get_arguments()
Source_folder(options.paths)