Utwórz wykonywalne, samorozpakowujące się archiwum w Python

Archiwizowanie i kompresowanie plików jest częstym zadaniem i często wiąże się z tworzeniem plików ZIP w celu efektywnego połączenia wielu plików i folderów w jeden pakiet. Chociaż pliki ZIP są powszechnie używane do tego celu, czasami może być konieczne utworzenie samorozpakowujących się archiwów(SFX lub SEA) dla wygody użytkowników. Archiwa samorozpakowujące to pliki wykonywalne, które mogą automatycznie wyodrębniać ich zawartość bez konieczności korzystania z osobnego narzędzia do rozpakowywania. W tym poście na blogu przyjrzymy się, jak programowo tworzyć samorozpakowujące się archiwa w języku Python.

Biblioteka Python do tworzenia samorozpakowujących się archiwów

Aspose.ZIP for Python to potężna i łatwa w użyciu biblioteka Python do pracy z archiwami ZIP. Zapewnia różne funkcje do tworzenia, manipulowania i rozpakowywania plików ZIP. Jedną z jego godnych uwagi funkcji jest możliwość tworzenia samorozpakowujących się archiwów, co może uprościć dystrybucję plików do użytkowników końcowych.

Możesz pobrać bibliotekę lub zainstalować ją z PyPI.

> pip install aspose-zip

Utwórz samorozpakowujące się archiwum w Python

Poniżej przedstawiono kroki tworzenia wykonywalnego, samorozpakowującego się archiwum w języku Python.

  • Najpierw utwórz obiekt klasy Archive.
  • Następnie dodaj pliki do archiwum metodą Archive.createentry(string, string).
  • Utwórz obiekt klasy SelfExtractorOptions, aby określić opcje samorozpakowującego się archiwum.
  • Ustaw opcje, takie jak tytuł, ikona itp.
  • Utwórz obiekt klasy ArchiveSaveOptions i ustaw właściwość selfextractoroptions na utworzony właśnie obiekt SelfExtractorOptions.
  • Na koniec zapisz samorozpakowujący się plik archiwum przy użyciu metody Archive.save(string, ArchiveSaveOptions).

Poniższy przykładowy kod pokazuje, jak utworzyć wykonywalne, samorozpakowujące się archiwum w języku Python.

import aspose.zip as az

# Utwórz archiwum
with az.Archive() as archive:
    # Dodaj plik do archiwum
    archive.create_entry("file", "file.txt")

    # Ustaw opcje samorozpakowującego się archiwum
    sfx_options = az.saving.SelfExtractorOptions()
    sfx_options.extractor_title = "Extractor"
    sfx_options.close_window_on_extraction = True
    #sfx_options.title_icon = "assets\\icon.ico"

    # Ustaw opcje archiwizacji ZIP
    archive_options = az.saving.ArchiveSaveOptions()
    archive_options.self_extractor_options = sfx_options

    # Utwórz i zapisz archiwum
    archive.save('self_extracting_archive.exe', archive_options)

Wykonywanie samorozpakowujących się archiwów przy użyciu wiersza poleceń

Ponieważ stworzyliśmy wykonywalne, samorozpakowujące się archiwum, możesz uruchomić archiwum, aby wyodrębnić jego zawartość. Jeśli chcesz użyć wiersza poleceń, możesz wyodrębnić archiwum za pomocą następującego polecenia.

C:>archive.exe -autoExtract 

W tym przypadku -autoExtract jest podstawową opcją umożliwiającą rozpakowanie archiwum. Jeśli archiwum jest chronione hasłem, możesz określić hasło za pomocą opcji -password, jak pokazano w poniższym poleceniu.

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

Biblioteka ZIP Python — uzyskaj bezpłatną licencję

Możesz tworzyć wykonywalne, samorozpakowujące się archiwa w Python bez ograniczeń ewaluacyjnych, uzyskując bezpłatną licencję tymczasową.

Zasoby edukacyjne

Dowiedz się więcej o naszej bibliotece ZIP Python, korzystając z zasobów podanych poniżej:

Narzędzia ZIP online

Uzyskaj dostęp do naszych bezpłatnych narzędzi online do pracy z archiwami ZIP. Narzędzia te są obsługiwane przez Aspose.ZIP for Python i nie wymagają tworzenia konta.

Wniosek

Tworzenie samorozpakowujących się archiwów może uprościć dystrybucję plików do użytkowników końcowych, eliminując potrzebę stosowania osobnego narzędzia do rozpakowywania. Aspose.ZIP for Python ułatwia tworzenie samorozpakowujących się archiwów za pomocą zaledwie kilku linijek kodu. W tym poście na blogu omówiliśmy proces tworzenia samorozpakowującego się archiwum w Python. Możesz łatwo zintegrować bibliotekę z aplikacjami w Python i uprościć proces pracy z archiwami.

Zobacz też