Créer une archive exécutable auto-extractible en Python

L’archivage et la compression de fichiers sont une tâche courante et impliquent souvent la création de fichiers ZIP pour regrouper efficacement plusieurs fichiers et dossiers dans un seul package. Bien que les fichiers ZIP soient largement utilisés à cette fin, vous devrez parfois créer des archives auto-extractibles(SFX ou SEA) pour le confort de vos utilisateurs. Les archives auto-extractibles sont des fichiers exécutables qui peuvent extraire automatiquement leur contenu sans nécessiter un utilitaire de décompression distinct. Dans cet article de blog, nous explorerons comment créer des archives auto-extractibles par programmation en Python.

Bibliothèque Python pour créer des archives auto-extractibles

Aspose.ZIP for Python est une bibliothèque Python puissante et facile à utiliser pour travailler avec des archives ZIP. Il fournit diverses fonctionnalités pour créer, manipuler et extraire des fichiers ZIP. L’une de ses caractéristiques notables est la possibilité de créer des archives auto-extractibles, ce qui peut simplifier la distribution des fichiers aux utilisateurs finaux.

Vous pouvez soit télécharger la bibliothèque, soit l’installer à partir de PyPI.

> pip install aspose-zip

Créer une archive auto-extractible en Python

Voici les étapes pour créer une archive exécutable auto-extractible en Python.

  • Tout d’abord, créez un objet de classe Archive.
  • Ensuite, ajoutez des fichiers à l’archive à l’aide de la méthode Archive.createentry(string, string).
  • Créez un objet de la classe SelfExtractorOptions pour spécifier les options d’archive auto-extractible.
  • Définissez des options telles que le titre, l’icône, etc.
  • Créez un objet de la classe ArchiveSaveOptions et définissez la propriété selfextractoroptions sur l’objet SelfExtractorOptions que nous venons de créer.
  • Enfin, enregistrez le fichier d’archive auto-extractible à l’aide de la méthode Archive.save(string, ArchiveSaveOptions).

L’exemple de code suivant montre comment créer une archive exécutable auto-extractible en Python.

import aspose.zip as az

# Créer des archives
with az.Archive() as archive:
    # Ajouter le fichier dans l'archive
    archive.create_entry("file", "file.txt")

    # Définir les options pour les archives auto-extractibles
    sfx_options = az.saving.SelfExtractorOptions()
    sfx_options.extractor_title = "Extractor"
    sfx_options.close_window_on_extraction = True
    #sfx_options.title_icon = "assets\\icon.ico"

    # Définir les options d'archive ZIP
    archive_options = az.saving.ArchiveSaveOptions()
    archive_options.self_extractor_options = sfx_options

    # Créer et enregistrer une archive
    archive.save('self_extracting_archive.exe', archive_options)

Exécuter des archives auto-extractibles à l’aide de la ligne de commande

Puisque nous avons créé une archive exécutable auto-extractible, vous pouvez exécuter l’archive pour extraire son contenu. Si vous souhaitez utiliser la ligne de commande, vous pouvez extraire l’archive avec la commande suivante.

C:>archive.exe -autoExtract 

Ici, -autoExtract est la principale option qui vous permet d’extraire l’archive. Si l’archive est protégée par mot de passe, vous pouvez spécifier le mot de passe à l’aide de l’option -password, comme indiqué dans la commande suivante.

C:>archive.exe -autoExtract -password:T0p$ecret

Bibliothèque ZIP Python - Obtenez une licence gratuite

Vous pouvez créer des archives exécutables auto-extractibles en Python sans limitations d’évaluation en obtenant une licence temporaire gratuite.

Ressources d’apprentissage

Apprenez-en plus sur notre bibliothèque Python ZIP en utilisant les ressources ci-dessous :

Outils ZIP en ligne

Accédez à nos outils en ligne gratuits pour travailler avec les archives ZIP. Ces outils sont alimentés par Aspose.ZIP for Python et ne nécessitent pas de création de compte.

Conclusion

La création d’archives auto-extractibles peut simplifier la distribution des fichiers aux utilisateurs finaux en éliminant le besoin d’un utilitaire de décompression distinct. Aspose.ZIP for Python facilite la création d’archives auto-extractibles avec seulement quelques lignes de code. Dans cet article de blog, nous avons parcouru le processus de création d’une archive auto-extractible en Python. Vous pouvez facilement intégrer la bibliothèque dans vos applications Python et simplifier le processus de travail avec les archives.

Voir également