Fichier ZIP Python avec exemple
Python vous permet de créer rapidement des archives zip/tar.
La commande suivante va compresser tout le répertoire
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 déclaration d'importation est correcte et en ordre. Ici, la déclaration d'importation pour l'archive est from shutil import make_archive
Explication du code
- Importer la classe make_archive du module shutdown
- Utilisez la fonction split pour séparer le répertoire et le nom du fichier du chemin d'accès à l'emplacement du fichier texte (guru99)
- Ensuite, nous appelons le module "shutil.make_archive("guru99 archive, "zip", root_dir)" pour créer le fichier d'archive, qui sera au format zip
- Après, nous passons dans le répertoire racine des choses que nous voulons compresser. Ainsi, tout 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) Une fois votre fichier d'archive créé, vous pouvez cliquer avec le bouton droit sur le fichier et sélectionner le système d'exploitation, et il affichera vos fichiers d'archive comme indiqué ci-dessous
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 quel fichier spécifique inclure dans l'archive. Dans notre cas, nous allons inclure deux fichiers sous l'archive "guru99.txt" et "guru99.txt.bak".
Explication du code
- Importer 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 une 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" car nous utilisons le verrouillage de portée "Avec", donc lorsque le programme tombe en dehors 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 (Windows Explorer) , il affichera les fichiers d'archive dans le dossier comme indiqué ci-dessous.
Lorsque vous double-cliquez sur le fichier "testguru99.zip", une autre fenêtre s'ouvrira et affichera les fichiers qu'il contient.
Voici le code complet
Exemple Python 2
import os import shutil from zipfile import ZipFile from os import path from shutil import make_archive def main(): # Check if file exists if path.exists("guru99.txt"): # get the path to the file in the current directory src = path.realpath("guru99.txt"); # rename the original file os.rename("career.guru99.txt","guru99.txt") # now put things into a ZIP archive root_dir,tail = path.split(src) shutil.make_archive("guru99 archive", "zip", root_dir) # more fine-grained control over ZIP files with ZipFile("testguru99.zip","w") as newzip: newzip.write("guru99.txt") newzip.write("guru99.txt.bak") if __name__== "__main__": main()
Exemple Python 3
import os import shutil from zipfile import ZipFile from os import path from shutil import make_archive # Check if file exists if path.exists("guru99.txt"): # get the path to the file in the current directory src = path.realpath("guru99.txt"); # rename the original file os.rename("career.guru99.txt","guru99.txt") # now put things into a ZIP archive root_dir,tail = path.split(src) shutil.make_archive("guru99 archive","zip",root_dir) # more fine-grained control over ZIP files with ZipFile("testguru99.zip", "w") as 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)"
Python
- E/S de fichier Python
- Python String strip() Fonction avec EXAMPLE
- Python String count() avec des EXEMPLES
- Fonction Python round() avec EXEMPLES
- Fonction Python map() avec EXEMPLES
- Python Timeit() avec des exemples
- Compteur Python dans les collections avec exemple
- Python List count() avec des EXEMPLES
- Index de liste Python () avec exemple