Python vous permet de créer rapidement des archives zip / tar.
La commande suivante compressera le répertoire entier
shutil.make_archive(output_filename, 'zip', dir_name)
La commande suivante vous donne le contrôle sur les fichiers que vous souhaitez archiver
ZipFile.write(filename)
Voici les étapes pour créer un fichier Zip en Python
Étape 1) Pour créer un fichier d'archive à partir de Python, assurez-vous que votre instruction d'importation est correcte et dans l'ordre. Ici, l'instruction d'importation pour l'archive est
from shutil import make_archive
Explication du code
- Importer la classe make_archive depuis le module shutil
- Utilisez la fonction de fractionnement pour séparer le répertoire et le nom du fichier du chemin vers l'emplacement du fichier texte (guru99)
- Ensuite, nous appelons le module "shutil.make_archive (" guru99 archive, "zip", root_dir) "pour créer un fichier archive, qui sera au format zip
- Ensuite, nous passons dans le répertoire racine des choses que nous voulons être compressées. Donc tout ce qui se trouve dans le répertoire sera compressé
- Lorsque vous exécutez le code, vous pouvez voir que le fichier zip d'archive est créé sur le côté droit du panneau.
Étape 2)
Maintenant, votre fichier archive.zip apparaîtra sur votre système d'exploitation (Explorateur Windows)
Étape 3) Lorsque vous double-cliquez sur le fichier, vous verrez la liste de tous les fichiers qu'il contient.
Étape 4) En Python, nous pouvons avoir plus de contrôle sur l'archive puisque nous pouvons définir le fichier spécifique à inclure dans l'archive. Dans notre cas, nous inclurons deux fichiers sous l'archive "guru99.txt" et "guru99.txt.bak".
Explication du code
- Importez la classe Zipfile à partir du module Python du fichier zip. Ce module donne un contrôle total sur la création de fichiers zip
- Nous créons un nouveau fichier Zip avec le nom ("testguru99.zip," w ")
- La création d'une nouvelle classe Zipfile nécessite de transmettre l'autorisation car il s'agit d'un fichier, vous devez donc écrire des informations dans le fichier en tant que newzip
- Nous avons utilisé la variable "newzip" pour faire référence au fichier zip que nous avons créé
- En utilisant la fonction d'écriture sur la variable "newzip", nous ajoutons les fichiers "guru99.txt" et "guru99.txt.bak" à l'archive
Lorsque vous exécutez le code, vous pouvez voir que le fichier est créé sur le côté droit du panneau avec le nom "guru99.zip"
Remarque : Ici, nous ne donnons aucune commande pour "fermer" le fichier comme "newzip.close" parce que nous utilisons "With" scope lock, donc quand le programme sort de cette portée, le fichier sera nettoyé et fermé automatiquement.
Étape 5) Lorsque vous -> faites un clic droit sur le fichier (testguru99.zip) et -> sélectionnez votre système d'exploitation (Explorateur Windows) , il affichera les fichiers d'archive dans le dossier comme indiqué ci-dessous.
Lorsque vous double-cliquez sur le fichier "testguru99.zip", il ouvrira une autre fenêtre, et celle-ci affichera les fichiers qui y sont inclus.
Voici le code complet
Exemple Python 2
importer le système d'exploitationimport shutilà partir de zipfile importer ZipFileà partir du chemin d'importation du système d'exploitationdepuis shutil import make_archivedef main ():# Vérifier si le fichier existesi path.exists ("guru99.txt"):# récupère le chemin du fichier dans le répertoire courantsrc = chemin.realpath ("guru99.txt");# renommer le fichier d'origineos.rename ("carrière.guru99.txt", "guru99.txt")# maintenant mettre les choses dans une archive ZIPrép_racine, queue = chemin.split (src)shutil.make_archive ("archive guru99", "zip", rép_racine)# contrôle plus fin sur les fichiers ZIPavec ZipFile ("testguru99.zip", "w") comme newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")si __name __ == "__main__":principale()
Exemple Python 3
importer le système d'exploitationimport shutilà partir de zipfile importer ZipFileà partir du chemin d'importation du système d'exploitationdepuis shutil import make_archive# Vérifier si le fichier existesi path.exists ("guru99.txt"):# récupère le chemin du fichier dans le répertoire courantsrc = chemin.realpath ("guru99.txt");# renommer le fichier d'origineos.rename ("carrière.guru99.txt", "guru99.txt")# maintenant mettre les choses dans une archive ZIPrép_racine, queue = chemin.split (src)shutil.make_archive ("archive guru99", "zip", rép_racine)# contrôle plus fin sur les fichiers ZIPavec ZipFile ("testguru99.zip", "w") comme newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")
Résumé
- Pour compresser tout le répertoire, utilisez la commande "shutil.make_archive (" name "," zip ", root_dir)
- Pour sélectionner les fichiers à compresser, utilisez la commande "ZipFile.write (filename)"