Comment extraire un fichier zip en Python

Dans ce tutoriel, nous allons voire différentes manières pour décompresser ou d’extraire un ou plusieurs fichiers d’un zip dans un répertoire donnée.
 
 
Dans le module zipfile de Python, la classe ZipFile fournit la fonction membre ZipFile.extractall() permettant d’extraire tout le contenu d’un fichier ZIP.
 

Extraire tous les fichiers d’un zip dans le répertoire courant

Pour travailler sur des fichiers zip utilisant python, nous allons utiliser un module python intégré appelé « zipfile » qui dispose de la méthode « extractall() » pour extraire tous les fichiers et dossiers d’un fichier zip dans le répertoire courant. Voici le code que vous pouvez utiliser pour extraire des fichiers:

from zipfile import ZipFile 
  
# spécifiant le nom du fichier zip
file = "archive.zip"
  
# ouvrir le fichier zip en mode lecture
with ZipFile(file, 'r') as zip: 
    # afficher tout le contenu du fichier zip
    zip.printdir() 
  
    # extraire tous les fichiers
    print('extraction...') 
    zip.extractall() 
    print('Terminé!')

Le programme ci-dessus extrait le fichier zip nommé « archive.zip » dans le même répertoire de ce script.
 
 

Extraire tous les fichiers d’un zip dans un autre répertoire

Nous pouvons également passer un nom de répertoire à extractall() pour extraire tous les fichiers et dossiers vers un répertoire spécifique. Si le dossier que vous avez passé en paramètre n’existe pas, cette méthode en créera un pour vous. Voici le code que vous pouvez utiliser pour extraire des fichiers:

from zipfile import ZipFile 
  
# spécifiant le nom du fichier zip
file = "archive.zip"
  
# ouvrir le fichier zip en mode lecture
with ZipFile(file, 'r') as zip: 
    # extraire tous les fichiers vers un autre répertoire
    zip.extractall('zip_destination')

Le code ci-dessus va extraire tous les fichiers contenus dans « archive.zip » dans le dossier « zip_destination »
 

Extraire un seul fichier zip

Ceci est similaire à l’extraction de plusieurs fichiers. la différence est que cette fois, vous devez d’abord fournir le nom de fichier et le path. En plus, vous devez utiliser la méthode « extract() » à la place de « extractall() ». Voici un extrait de code de base pour extraire un seul fichier.

import zipfile
         
zip = zipfile.ZipFile('C:\\User\\wtlx\\archive.zip')
zip.extract('logo.jpg', 'C:\\User\\wtlx')
 
zip.close()

 
QCM Python

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *