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 :