Comment dézipper des fichiers en Python

Azaz Farooq 10 octobre 2023
  1. Dézipper des fichiers en Python en utilisant la méthode extractall() vers le répertoire de travail
  2. Décompression de fichiers en Python en utilisant la méthode extractall() vers un répertoire différent
  3. Dézipper les fichiers en Python en utilisant la méthode extractall() basée sur la condition
  4. Dézipper les fichiers en Python en utilisant la méthode unpack_archive()
Comment dézipper des fichiers en Python

Un fichier ZIP a un format de fichier d’archive et aide à la compression sans perte de données. Un seul fichier ZIP peut contenir plus d’un fichier compressé. Dans un fichier ZIP, plusieurs fichiers sont transférés plus rapidement qu’un seul fichier, et cela réduit la taille des données. Le module ZipFile intégré à Python peut être utilisé pour décompresser les fichiers ZIP.

Cet article traite des différentes méthodes d’extraction des fichiers compressés ou Zip en Python.

Dézipper des fichiers en Python en utilisant la méthode extractall() vers le répertoire de travail

Commençons par importer le module zipfile intégré à Python en utilisant la commande ci-dessous.

from zipfile import ZipFile

L’exemple de code complet est le suivant :

from zipfile import ZipFile

test_file_name = "my_files.zip"

with ZipFile(test_file_name, "r") as zip:
    zip.printdir()
    zip.extractall()

Le r de la fonction ZipFile représente l’opération de lecture du fichier, tandis que la fonction extractall() va extraire le contenu du fichier zip dans le répertoire de travail courant.

Production :

 File Name         Modified                  Size
file1.txt          2020-11-09 23:03:06        0
file2.txt          2020-11-09 23:03:18        0

Décompression de fichiers en Python en utilisant la méthode extractall() vers un répertoire différent

Cette méthode extrait les fichiers zip mais dans un répertoire différent. La principale différence est que nous allons passer le répertoire de destination en argument dans la méthode extractall().

L’exemple de code complet est le suivant :

from zipfile import ZipFile

with ZipFile("my_files.zip", "r") as zip:
    zip.extractall("temp")
    print("File is unzipped in temp folder")

Un nouveau répertoire temp sera créé dans le répertoire de travail actuel, et tous les fichiers zip y sont extraits.

Production :

Files are unzipped in temp folder

Dézipper les fichiers en Python en utilisant la méthode extractall() basée sur la condition

Cette méthode est pratique lorsque vous avez un grand nombre de fichiers dans un fichier zip, et que vous devez extraire des fichiers avec une extension spécifique. Par exemple, nous allons extraire les fichiers .txt du fichier zip.

L’exemple de code complet est le suivant :

from zipfile import ZipFile

with ZipFile("my_files.zip", "r") as obj_zip:
    FileNames = obj_zip.namelist()
    for fileName in FileNames:
        if fileName.endswith(".txt"):
            zipObj.extract(fileName, "temp_txt")

La fonction namelist() retourne les noms de tous les fichiers du fichier zip.

La méthode endswith() vérifie si le nom du fichier se termine par .txt. Si c’est le cas, la fonction extract() extraira les fichiers .txt vers le dossier temp_txt dans le répertoire de travail courant.

Dézipper les fichiers en Python en utilisant la méthode unpack_archive()

Cette méthode utilise le module shutil intégré à Python. Elle permet d’extraire tous les formats de fichiers archivés.

L’exemple de code complet est le suivant :

import shutil

shutil.unpack_archive("test.zip")

Les fichiers extraits se trouveront dans le répertoire de travail actuel où vous exécutez ce script.