Python propose plusieurs modules pour traiter les fichiers compressés. Le module zipfile vous permet de décompresser des fichiers en Python.
Table des matières
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 |