Comment décompresser des fichiers zip en utilisant Python ?

Published: 22 septembre 2023

Tags: Python;

DMCA.com Protection Status

Python propose plusieurs modules pour traiter les fichiers compressés. Le module zipfile vous permet de décompresser des fichiers en Python.

Dézipper un fichier

Pour commencer, importez le module zipfile :

import zipfile

myZipFile = 'archive.zip'

Ensuite, créez une instance de la classe ZipFile, qui représentera notre fichier compressé et extrayez le contenu de myZipFile en utilisant la méthode extractall().

destination_folder = '.'

with zipfile.ZipFile(myZipFile, 'r') as zip_ref:
    zip_ref.extractall(destination_folder)

La méthode extractall() prend un unique argument, qui est le chemin de destination où nous voulons extraire nos fichiers. Le chemin de destination doit exister avant d'appeler cette méthode, sinon une erreur sera générée.

Dézippez plusieurs fichiers

import glob

root = '/Volumes/HD2/Datasets/'

zip_files = glob.glob('{}*.zip'.format(root))

len(zip_files)

Donne par exemple:

156

Pour chaque fichier zip, itérez à travers celui-ci et créez un dossier séparé pour décompresser son contenu.

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)

Références

Liens Site
zipfile docs.python.org