Créer une archive zip d'un répertoire à l'aide de Python
Le fichier zip est un format de fichier d’archive contenant un ou plusieurs fichiers compressés. Il prend en charge la compression de données sans perte et est le format d’archive le plus couramment utilisé dans le monde. Cet article nous aidera à apprendre comment convertir un répertoire en fichier zip à l’aide du langage de programmation Python.
Utilisation de la bibliothèque shutil
pour créer une archive zip d’un répertoire
La bibliothèque shutil
fait partie du Python standard. Il offre plusieurs fonctions de haut niveau à exécuter sur des fichiers ou des groupes de fichiers, telles que la copie, la compression, la décompression et la suppression. Il a une fonction ou une méthode du nom de make_archive()
qui peut convertir n’importe quel répertoire ou dossier en un fichier d’archive zip. Voici les arguments les plus utilisés de cette fonction.
base_name
: Nom du fichier à créer avec le chemin et sans extension de format.format
: C’est le nom du format de l’archive. Les options disponibles sontzip
(nécessite le modulezlib
),tar
,gztar
(nécessite le modulezlib
),bztar
(nécessite le modulebz2
) etxztar
(nécessitelzma
module).root_dir
: C’est le répertoire qui sera le répertoire racine de l’archive, ce qui signifie que tous les chemins dans l’archive lui seront relatifs. La valeur par défaut est le répertoire courant.base_dir
: C’est le répertoire d’où démarre l’archivage. Sa valeur doit être relative auroot_dir
. La valeur par défaut est le répertoire courant.
Maintenant que nous avons terminé avec une brève théorie sur le package et la fonction requise, apprenons comment nous pouvons utiliser cette fonction pour créer une archive zip à partir d’un répertoire.
import os
import shutil
filename = "compressed"
format = "zip"
directory = os.getcwd()
shutil.make_archive(filename, format, directory)
Le code ci-dessus compressera le répertoire de travail actuel dans un fichier zip et nommera le fichier compressed.zip
. Notez que nous n’avons pas mentionné l’extension (.zip
) dans le base_name
.
Article connexe - Python Dictionary
- Comment vérifier si une clé existe dans un dictionnaire en Python
- Convertir un dictionnaire en liste en Python
- Comment obtenir tous les fichiers d'un répertoire
- Comment trouver la valeur maximale dans le dictionnaire Python
- Comment trier un dictionnaire Python par valeur
- Comment fusionner deux dictionnaires en Python 2 et 3