Créer un ZIP en Python

Les archives ZIP compressent et regroupent plusieurs fichiers ou dossiers dans un conteneur unifié. L’archive ZIP encapsule non seulement les fichiers et dossiers, mais conserve également leurs métadonnées. Ils réduisent principalement la taille des fichiers pour le stockage/la transmission et ajoutent de la sécurité grâce au cryptage. En plus des outils de compression de fichiers conventionnels, les applications de bureau et Web intègrent des fonctionnalités automatisées de compression et d’extraction pour rationaliser les tâches telles que le téléchargement, le partage et le cryptage de fichiers. Cet article présente une manière simplifiée de compresser des fichiers ou des dossiers et de créer des archives ZIP en Python. Il explique également comment créer des archives ZIP cryptées et protégées par mot de passe en Python. Alors approfondissons-le.

Bibliothèque ZIP Python

Aspose.ZIP for Python est une bibliothèque puissante et polyvalente qui fournit aux développeurs un ensemble complet d’outils pour travailler avec des fichiers ZIP dans les applications Python. Avec son API intuitive et son large éventail de fonctionnalités, Aspose.ZIP for Python facilite la création, l’extraction et la gestion efficace des archives ZIP. Vous pouvez installer la bibliothèque à partir de PyPI à l’aide de la commande suivante.

> pip install aspose-zip

Créer une archive ZIP en Python

Voici les étapes pour compresser un fichier en l’ajoutant dans une archive ZIP en Python.

  • Tout d’abord, créez une nouvelle archive ZIP à l’aide de la classe Archive.
  • Ensuite, ajoutez le fichier à l’archive ZIP à l’aide de la méthode Archive.createentry().
  • Enfin, enregistrez l’archive ZIP à l’aide de la méthode Archive.save().

L’exemple de code suivant montre comment ajouter un fichier dans une archive ZIP en Python.

import aspose.zip as az

# Créer et enregistrer une archive avec un seul fichier
with az.Archive() as archive:
    # Ajouter le fichier dans l'archive
    archive.create_entry("file", "file.txt")

    # Créer et enregistrer une archive zip
    archive.save('my_archive.zip')

Ajouter plusieurs fichiers dans l’archive ZIP en Python

Dans la section précédente, nous avons montré comment insérer un seul fichier dans l’archive ZIP. Cependant, si vous avez plusieurs fichiers, vous pouvez appeler à plusieurs reprises la méthode Archive.createentry().

L’exemple de code suivant montre comment insérer plusieurs fichiers dans une archive ZIP en Python.

import aspose.zip as az

# Créer et enregistrer une archive avec plusieurs fichiers
with az.Archive() as archive:
    # Ajouter le premier fichier
    archive.create_entry("file", "file.txt")

    # Ajouter un deuxième fichier
    archive.create_entry("file2", "file2.txt")

    # Créer et enregistrer une archive zip
    archive.save('my_archive.zip')

Ajouter des dossiers à une archive ZIP en Python

Non seulement les fichiers, mais vous pouvez également compresser des dossiers dans les archives ZIP. Pour cela, vous n’avez pas besoin d’ajouter chaque fichier du dossier à l’archive un par un. Appelez simplement la méthode Archive.createentries(), transmettez le nom du dossier, et c’est tout. Pour votre compréhension, voici les étapes d’archivage d’un dossier complet.

  • Tout d’abord, créez une nouvelle archive à l’aide de la classe Archive.
  • Ensuite, ajoutez le dossier à l’archive ZIP à l’aide de la méthode Archive.createentries(foldername).
  • Enfin, enregistrez l’archive ZIP à l’aide de la méthode Archive.save().

L’exemple de code suivant montre comment ajouter un dossier au ZIP en Python.

import aspose.zip as az

# Créer une archive à partir d'un dossier
with az.Archive() as archive:
    # Ajouter un dossier à compresser
    archive.create_entries("files")

    # Créer et enregistrer une archive zip
    archive.save('my_archive_from_folder.zip')

Créer un ZIP protégé par mot de passe en Python

Dans divers cas, comme lors du partage de l’archive sur Internet, vous devez protéger le fichier ZIP avec un mot de passe. La création d’une archive ZIP protégée par mot de passe à l’aide d’Aspose.ZIP for Python est un processus simple qui offre une sécurité renforcée pour vos fichiers compressés. Voyons donc comment protéger une archive ZIP avec un mot de passe en Python.

  • Tout d’abord, créez un objet de la classe ArchiveEntrySettings et initialisez-le avec le mot de passe souhaité.
  • Ensuite, créez un objet de la classe Archive et initialisez-le avec l’objet ArchiveEntrySettings que vous avez créé ci-dessus.
  • Après cela, ajoutez des fichiers et des dossiers à l’archive ZIP.
  • Enfin, enregistrez l’archive ZIP à l’aide de la méthode Archive.save().

L’exemple de code suivant montre comment créer une archive ZIP protégée par mot de passe en Python.

import aspose.zip as az

# Créer des paramètres d'archive et définir un mot de passe
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.TraditionalEncryptionSettings("password"))

# Créer et enregistrer une archive avec plusieurs fichiers
with az.Archive(archive_settings) as archive:        
    # Ajouter un dossier à compresser
    archive.create_entries("files")

    # Créer et enregistrer une archive zip
    archive.save('protected_archive.zip')

Crypter les archives ZIP avec le cryptage AES

Dans l’exemple précédent, nous avons appliqué des paramètres traditionnels pour protéger une archive ZIP avec un mot de passe. Cependant, Aspose.ZIP for Python vous permet d’utiliser le cryptage AES pour crypter vos archives ZIP. Vous pouvez utiliser les méthodes de cryptage AES suivantes :

  • AES128
  • AES192
  • AES256

Le processus d’application du cryptage AES est le même que celui que vous avez vu dans la section précédente. La seule différence est que vous utiliserez désormais AesEcryptionSettings au lieu de TraditionalEncryptionSettings lors de la définition des paramètres d’archive. L’exemple de code suivant montre comment appliquer le chiffrement AES aux archives ZIP en Python.

import aspose.zip as az

# Créer des paramètres d'archive et définir un mot de passe
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.AesEcryptionSettings("pass", az.saving.EncryptionMethod.AES128))

# Créer et enregistrer une archive avec plusieurs fichiers
with az.Archive(archive_settings) as archive:        
    # Ajouter un dossier à compresser
    archive.create_entries("files")

    # Créer et enregistrer une archive zip
    archive.save('protected_archive.zip')

Définir le mode de compression parallèle

Aspose.ZIP for Python vous permet également de personnaliser le processus d’archivage ZIP à l’aide de paramètres de compression parallèle. Cette configuration indique à l’API quand appliquer la compression parallèle. Les modes de compression parallèles suivants sont disponibles.

  • Jamais - Ne compressez pas en parallèle.
  • Toujours - Compressez en parallèle (attention au manque de mémoire).
  • Auto - Décidez si vous souhaitez utiliser ou non la compression parallèle sur les entrées. Cette option peut compresser certaines entrées en parallèle uniquement.

Voici les étapes pour appliquer une compression parallèle lors de la création d’une archive ZIP en Python.

  • Tout d’abord, créez une nouvelle archive à l’aide de la classe Archive.
  • Ensuite, ajoutez des fichiers ou des dossiers à l’archive ZIP (comme indiqué dans les sections précédentes).
  • Créez une instance de la classe ParallelOptions et définissez la propriété parallelcompressinmemory sur la valeur ParallelCompressionMode souhaitée.
  • Créez une instance de la classe ArchiveSaveOptions.
  • Attribuez l’objet ParallelOptions à la propriété ArchiveSaveOptions.paralleloptions.
  • Enfin, enregistrez l’archive ZIP à l’aide de la méthode Archive.save().

L’exemple de code ci-dessous montre comment appliquer une compression parallèle lors de la compression de fichiers en Python.

# Créer et enregistrer une archive avec plusieurs fichiers
import aspose.zip as az

with az.Archive() as archive:        
    # Ajouter des fichiers/dossiers au zip
    archive.create_entry("file", "file.txt")
    archive.create_entry("file2", "file2.txt")

    # Créer des options pour la compression parallèle
    parallelOptions = az.saving.ParallelOptions()
    parallelOptions.parallel_compress_in_memory = az.saving.ParallelCompressionMode.ALWAYS

    # Créer des options de sauvegarde ZIP
    archiveSaveOptions = az.saving.ArchiveSaveOptions()

    archiveSaveOptions.parallel_options = parallelOptions
    archiveSaveOptions.archive_comment = "Files compressed with parallel compression."

    # Créer et enregistrer une archive zip
    archive.save('parallel_compression_archive.zip', archiveSaveOptions)

Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite et compresser des fichiers dans une archive ZIP sans aucune limitation d’évaluation.

Bibliothèque ZIP Python - Ressources

Vous pouvez en savoir plus sur notre bibliothèque Python ZIP en utilisant les ressources suivantes :

Créer des archives ZIP en ligne

Essayez notre application gratuite de compression de fichiers, optimisée par Aspose.ZIP for Python.

Conclusion

En conclusion, Aspose.ZIP for Python offre une solution robuste et polyvalente pour créer et gérer des archives ZIP sans effort. Grâce à son ensemble complet de fonctionnalités, les développeurs peuvent intégrer de manière transparente la fonctionnalité ZIP dans leurs applications Python. Qu’il s’agisse de compresser des fichiers, d’ajouter du chiffrement ou d’organiser des structures de répertoires complexes, Aspose.ZIP fournit une boîte à outils fiable pour rationaliser ces tâches.

Cet article vous a fourni un guide complet sur la façon de créer des archives ZIP en Python. De plus, nous avons expliqué comment archiver plusieurs fichiers et dossiers, créer des archives ZIP protégées par mot de passe, appliquer le cryptage AES et configurer des méthodes de compression ZIP parallèles. Vous pouvez facilement intégrer la bibliothèque dans vos applications Python et utiliser les exemples de code fournis.

Voir également