Python Fichier ZIP avec exemple

⚡ Résumé intelligent

Python Ce logiciel crée des archives ZIP à l'aide des modules intégrés shutil et zipfile. Vous apprendrez ici à compresser un répertoire entier avec make_archive(), à compresser des fichiers spécifiques avec ZipFile, et bien plus encore.tract, lister et lire le contenu des archives.

  • 🇧🇷 créer_archive() : shutil.make_archive() compresse un répertoire entier dans un fichier .zip.
  • 📄 ZipFile.write() : ZipFile.write() ajoute des fichiers spécifiques à une archive un par un.
  • (I.e. extracgrand(): Fichier Zip.extracLa fonction tall() décompresse tous les fichiers d'une archive dans un dossier.
  • 📋 liste de noms() : ZipFile.namelist() liste les noms de fichiers contenus dans une archive ZIP.
  • 🤖 Aide de l'IA : Les outils d'IA comme Copilot génèrent instantanément les codes postaux et de décompression.

Python Fichier zip

Python vous permet de créer rapidement des archives zip/tar.

La commande suivante compressera 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)

Comment compresser un répertoire entier dans Python

Voici les étapes pour créer un fichier Zip dans Python

Étape 1) Pour créer un fichier d'archive à partir de Python, assurez-vous que votre déclaration d'importation est correcte et dans l'ordre. Ici, la déclaration d'importation pour l'archive est from shutil import make_archive

Python ZIP

Code Explication

  • Importer la classe make_archive depuis le 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 un fichier d'archive, qui sera au format zip
  • Ensuite, nous passons dans le répertoire racine des éléments que nous souhaitons compresser. Donc tout ce qu'il y a 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.

Python ZIP

Maintenant, votre fichier archive.zip apparaîtra sur votre système d'exploitation (Windows Explorateur)

Python ZIP

Étape 3) Lorsque vous double-cliquez sur le fichier, vous verrez la liste de tous les fichiers qu'il contient.

Python ZIP

Comment compresser des fichiers spécifiques à l'aide de ZipFile

Étape 4) In 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 inclurons deux fichiers dans l'archive "guru99.txt" et "guru99.txt.bak".

Python ZIP

Code Explication

  • Importer la classe Zipfile à partir du fichier zip Python module. 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 ».

Note: 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 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 OS (Windows Explorateur), il affichera les fichiers d'archive dans le dossier comme indiqué ci-dessous.

Python ZIP

Lorsque vous double-cliquez sur le fichier « testguru99.zip », une autre fenêtre s'ouvrira et affichera les fichiers qu'elle contient.

Python ZIP

Python Code Créer un fichier ZIP

Voici le code complet

Python 2 Exemple

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()

Python 3 Exemple

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")

Comment Extract (Décompresser) un fichier ZIP dans Python

Pour décompresser une archive, ouvrez-la en mode lecture avec ZipFile et appelez extracgrand() à extract chaque fichier, ou extract() pour extraire un seul membre.

from zipfile import ZipFile

with ZipFile("testguru99.zip", "r") as myzip:
    myzip.extractall("extracted_files")

L' extracLa méthode tall() écrit tous les fichiers archivés dans le dossier que vous passez en argument.

Comment lister les fichiers contenus dans une archive ZIP Archive

Vous pouvez consulter une archive sans extracLa méthode namelist() renvoie les noms de tous les fichiers stockés dans l'archive ZIP.

from zipfile import ZipFile

with ZipFile("testguru99.zip", "r") as myzip:
    print(myzip.namelist())

Cette commande affiche la liste des noms de fichiers contenus dans l'archive.

Comment lire un fichier à l'intérieur d'une archive ZIP Archive

Vous pouvez lire un fichier membre directement depuis l'archive sans la décompresser.ping il est enregistré sur disque en utilisant la méthode open() de ZipFile.

from zipfile import ZipFile

with ZipFile("testguru99.zip", "r") as myzip:
    with myzip.open("guru99.txt") as f:
        print(f.read())

Ceci est utile lorsque vous n'avez besoin que du contenu d'un seul fichier provenant d'une archive volumineuse.

FAQ

Utilisez shutil.make_archive(name, 'zip', root_dir) pour compresser un répertoire, ou ouvrez un fichier Zip en mode écriture et appelez write() pour ajouter des fichiers spécifiques à l'archive.

shutil.make_archive() compresse un répertoire entier en un seul appel, tandis que zipfile.ZipFile offre un contrôle plus précis, permettant d'ajouter, de lire ou d'extraire des fichiers.tracles fichiers individuels au sein de l'archive.

Ouvrez l'archive avec ZipFile('file.zip', 'r') et appelez extracgrand('dossier') à extractout, ou extract('nom') pour extraire un seul fichier de l'archive.

Ouvrez le fichier Zip en mode lecture et appelez la fonction namelist(), qui renvoie la liste de tous les noms de fichiers stockés dans l'archive, sans les espaces.tracn'importe lequel d'entre eux.

L'instruction `with` ferme automatiquement l'archive à la fin du bloc, même en cas d'erreur ; vous n'avez donc pas besoin d'appeler `close()` manuellement.

Les assistants IA comme GitHub Copilot complètent automatiquement les appels ZipFile et make_archive(), et génèrent des boucles qui compressent ou décompressent de nombreux fichiers à partir d'une description en langage clair.

Oui. Les outils basés sur l'IA peuvent automatiser l'écriture des scripts de sauvegarde et d'archivage, choisir entre shutil et zipfile, et ajouter une gestion des erreurs pour les fichiers manquants ou les archives corrompues.

Oui. Ouvrez le fichier Zip, puis utilisez sa méthode open() sur un fichier membre pour lire directement son contenu, sans extratracgraver l'intégralité des archives sur disque.

Résumez cet article avec :