880 votes

Décompresser des fichiers en Python

J'ai lu la documentation de zipfile , mais je ne comprenais pas comment décompresser un fichier, seulement comment compresser un fichier. Comment décompresser tout le contenu d'un fichier zip dans le même répertoire?

1668voto

Rahul Points 728
import zipfile
with zipfile.ZipFile(path_to_zip_file, 'r') as zip_ref:
    zip_ref.extractall(directory_to_extract_to)

C'est à peu près tout!

420voto

user1741137 Points 47

Si vous utilisez Python 3.2 ou version ultérieure:

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

Vous n'avez pas besoin d'utiliser la fermeture ou d' essayer / attraper avec ceci car il utilise le construction du gestionnaire de contexte.

50voto

Dan Breen Points 4381

Utilisez la extractall , si vous utilisez Python 2.6+

 zip = ZipFile('file.zip')
zip.extractall()

25voto

simhumileco Points 5383

Vous pouvez également importer uniquement ZipFile :

 from zipfile import ZipFile
zf = ZipFile('path_to_file/file.zip', 'r')
zf.extractall('path_to_extract_folder')
zf.close()

Fonctionne en Python 2 et Python 3 .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X