Створити виконуваний архів, що саморозпаковується, на Python

Архівування та стиснення файлів є звичайним завданням, яке часто передбачає створення ZIP-файлів для ефективного об’єднання кількох файлів і папок в один пакет. Хоча ZIP-файли широко використовуються для цієї мети, іноді вам може знадобитися створити архіви, що саморозпаковуються(SFX або SEA) для зручності ваших користувачів. Архіви, що саморозпаковуються, — це виконувані файли, які можуть автоматично розпаковувати свій вміст, не вимагаючи окремої утиліти розпакування. У цій публікації блогу ми розглянемо, як програмно створювати архіви, що саморозпаковуються, на Python.

Бібліотека Python для створення архівів, що саморозпаковуються

Aspose.ZIP for Python — потужна та проста у використанні бібліотека Python для роботи з архівами ZIP. Він надає різні функції для створення, обробки та видобування файлів ZIP. Однією з його помітних особливостей є можливість створювати архіви, що саморозпаковуються, що може спростити розповсюдження файлів кінцевим користувачам.

Ви можете завантажити бібліотеку або встановити її з PyPI.

> pip install aspose-zip

Створіть саморозпаковуючий архів на Python

Нижче наведено кроки для створення виконуваного саморозпаковуваного архіву на Python.

  • Спочатку створіть об’єкт класу Archive.
  • Потім додайте файли до архіву за допомогою методу Archive.createentry(string, string).
  • Створіть об’єкт класу SelfExtractorOptions, щоб вказати параметри для архіву, що саморозпаковується.
  • Установіть такі параметри, як заголовок, значок тощо.
  • Створіть об’єкт класу ArchiveSaveOptions і встановіть властивість selfextractoroptions для об’єкта SelfExtractorOptions, який ми щойно створили.
  • Нарешті, збережіть файл архіву, що саморозпаковується, використовуючи метод Archive.save(string, ArchiveSaveOptions).

У наступному прикладі коду показано, як створити виконуваний архів, що саморозпаковується, у Python.

import aspose.zip as az

# Створити архів
with az.Archive() as archive:
    # Додати файл в архів
    archive.create_entry("file", "file.txt")

    # Встановіть параметри для саморозпаковуваного архіву
    sfx_options = az.saving.SelfExtractorOptions()
    sfx_options.extractor_title = "Extractor"
    sfx_options.close_window_on_extraction = True
    #sfx_options.title_icon = "assets\\icon.ico"

    # Налаштувати параметри архіву ZIP
    archive_options = az.saving.ArchiveSaveOptions()
    archive_options.self_extractor_options = sfx_options

    # Створити та зберегти архів
    archive.save('self_extracting_archive.exe', archive_options)

Запуск архівів, що саморозпаковуються, за допомогою командного рядка

Оскільки ми створили виконуваний архів, що саморозпаковується, ви можете запустити архів, щоб розпакувати його вміст. Якщо ви хочете використовувати командний рядок, ви можете розпакувати архів за допомогою такої команди.

C:>archive.exe -autoExtract 

Тут -autoExtract є основним параметром, який дозволяє розпакувати архів. Якщо архів захищено паролем, ви можете вказати пароль за допомогою параметра -password, як показано в наступній команді.

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

ZIP-бібліотека Python - отримайте безкоштовну ліцензію

Ви можете створювати виконувані архіви, що саморозпаковуються, на Python без обмежень оцінки, отримавши безкоштовну тимчасову ліцензію.

Навчальні ресурси

Дізнайтеся більше про нашу бібліотеку Python ZIP, використовуючи наведені нижче ресурси:

Онлайн-інструменти ZIP

Отримайте доступ до наших безкоштовних онлайн-інструментів для роботи з архівами ZIP. Ці інструменти працюють на базі Aspose.ZIP for Python і не потребують створення облікового запису.

Висновок

Створення архівів, що саморозпаковуються, може спростити розповсюдження файлів кінцевим користувачам, усуваючи потребу в окремій утиліті для розпакування. Aspose.ZIP for Python дозволяє легко створювати архіви, що саморозпаковуються, за допомогою лише кількох рядків коду. У цій публікації блогу ми ознайомилися з процесом створення саморозпаковуваного архіву на Python. Ви можете легко інтегрувати бібліотеку в свої програми на Python і спростити процес роботи з архівами.

Дивись також