Utwórz ZIP w Python

Archiwa ZIP kompresują i grupują wiele plików lub folderów w ujednolicony kontener. Archiwum ZIP nie tylko hermetyzuje pliki i foldery, ale także zachowuje ich metadane. Przede wszystkim zmniejszają rozmiar pliku do przechowywania/transmisji i zwiększają bezpieczeństwo poprzez szyfrowanie. Oprócz konwencjonalnych narzędzi do kompresji plików, aplikacje komputerowe i internetowe integrują funkcje automatycznej kompresji i ekstrakcji, aby usprawnić zadania, takie jak przesyłanie, pobieranie, udostępnianie i szyfrowanie plików. W artykule przedstawiono uproszczony sposób kompresowania plików lub folderów oraz tworzenia archiwów ZIP w Python. Omówiono także sposób tworzenia zaszyfrowanych i chronionych hasłem archiwów ZIP w języku Python. Zagłębmy się w to.

Biblioteka ZIP Python

Aspose.ZIP for Python to potężna i wszechstronna biblioteka zapewniająca programistom kompleksowy zestaw narzędzi do pracy z plikami ZIP w aplikacjach Python. Dzięki intuicyjnemu API i szerokiej gamie funkcji, Aspose.ZIP for Python ułatwia tworzenie, wyodrębnianie i efektywne zarządzanie archiwami ZIP. Możesz zainstalować bibliotekę z PyPI za pomocą następującego polecenia.

> pip install aspose-zip

Utwórz archiwum ZIP w Python

Poniżej przedstawiono kroki kompresji pliku poprzez dodanie go do archiwum ZIP w języku Python.

  • Najpierw utwórz nowe archiwum ZIP przy użyciu klasy Archive.
  • Następnie dodaj plik do archiwum ZIP za pomocą metody Archive.createentry().
  • Na koniec zapisz archiwum ZIP za pomocą metody Archive.save().

Poniższy przykładowy kod pokazuje, jak dodać plik do archiwum ZIP w języku Python.

import aspose.zip as az

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

    # Utwórz i zapisz archiwum zip
    archive.save('my_archive.zip')

Dodaj wiele plików do archiwum ZIP w Python

W poprzedniej sekcji pokazaliśmy, jak wstawić pojedynczy plik do archiwum ZIP. Jeśli jednak masz więcej niż jeden plik, możesz wielokrotnie wywoływać metodę Archive.createentry().

Poniższy przykładowy kod pokazuje, jak wstawić wiele plików do archiwum ZIP w języku Python.

import aspose.zip as az

# Twórz i zapisuj archiwum zawierające wiele plików
with az.Archive() as archive:
    # Dodaj pierwszy plik
    archive.create_entry("file", "file.txt")

    # Dodaj drugi plik
    archive.create_entry("file2", "file2.txt")

    # Utwórz i zapisz archiwum zip
    archive.save('my_archive.zip')

Dodaj foldery do archiwum ZIP w Python

Nie tylko pliki, ale możesz także kompresować foldery do archiwów ZIP. W tym celu nie trzeba dodawać każdego pliku z folderu do archiwum jeden po drugim. Po prostu wywołaj metodę Archive.createentries(), podaj nazwę folderu i gotowe. Aby ułatwić zrozumienie, poniżej znajdują się kroki archiwizacji całego folderu.

  • Najpierw utwórz nowe archiwum za pomocą klasy Archive.
  • Następnie dodaj folder do archiwum ZIP za pomocą metody Archive.createentries(nazwa_folderu).
  • Na koniec zapisz archiwum ZIP za pomocą metody Archive.save().

Poniższy przykładowy kod pokazuje, jak dodać folder do pliku ZIP w języku Python.

import aspose.zip as az

# Utwórz archiwum z folderu
with az.Archive() as archive:
    # Dodaj folder do zip
    archive.create_entries("files")

    # Utwórz i zapisz archiwum zip
    archive.save('my_archive_from_folder.zip')

Utwórz chroniony hasłem plik ZIP w Python

W różnych przypadkach, na przykład podczas udostępniania archiwum w Internecie, musisz zabezpieczyć plik ZIP hasłem. Tworzenie chronionego hasłem archiwum ZIP przy użyciu Aspose.ZIP for Python to prosty proces, który zapewnia zwiększone bezpieczeństwo skompresowanych plików. Zobaczmy więc, jak chronić archiwum ZIP hasłem w Python.

  • Najpierw utwórz obiekt klasy ArchiveEntrySettings i zainicjuj go żądanym hasłem.
  • Następnie utwórz obiekt klasy Archive i zainicjuj go obiektem ArchiveEntrySettings, który utworzyłeś powyżej.
  • Następnie dodaj pliki i foldery do archiwum ZIP.
  • Na koniec zapisz archiwum ZIP za pomocą metody Archive.save().

Poniższy przykładowy kod pokazuje, jak utworzyć archiwum ZIP chronione hasłem w języku Python.

import aspose.zip as az

# Utwórz ustawienia archiwum i ustaw hasło
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.TraditionalEncryptionSettings("password"))

# Twórz i zapisuj archiwum zawierające wiele plików
with az.Archive(archive_settings) as archive:        
    # Dodaj folder do zip
    archive.create_entries("files")

    # Utwórz i zapisz archiwum zip
    archive.save('protected_archive.zip')

Zaszyfruj archiwum ZIP za pomocą szyfrowania AES

W poprzednim przykładzie zastosowaliśmy tradycyjne ustawienia, aby zabezpieczyć archiwum ZIP hasłem. Jednak Aspose.ZIP for Python umożliwia użycie szyfrowania AES do szyfrowania archiwów ZIP. Możesz użyć następujących metod szyfrowania AES:

  • AES128
  • AES192
  • AES256

Proces stosowania szyfrowania AES jest taki sam, jak widziałeś w poprzedniej sekcji. Jedyna różnica polega na tym, że podczas definiowania ustawień archiwum będziesz teraz używać AesEcryptionSettings zamiast tradycyjnych ustawień szyfrowania. Poniższy przykładowy kod demonstruje, jak zastosować szyfrowanie AES do archiwów ZIP w języku Python.

import aspose.zip as az

# Utwórz ustawienia archiwum i ustaw hasło
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.AesEcryptionSettings("pass", az.saving.EncryptionMethod.AES128))

# Twórz i zapisuj archiwum zawierające wiele plików
with az.Archive(archive_settings) as archive:        
    # Dodaj folder do zip
    archive.create_entries("files")

    # Utwórz i zapisz archiwum zip
    archive.save('protected_archive.zip')

Ustaw tryb kompresji równoległej

Aspose.ZIP for Python pozwala także dostosować proces archiwizacji ZIP przy użyciu ustawień kompresji równoległej. Ta konfiguracja informuje interfejs API, kiedy zastosować kompresję równoległą. Dostępne są następujące tryby kompresji równoległej.

  • Nigdy — nie ściskaj równolegle.
  • Zawsze — kompresuj równolegle (uważaj na brak pamięci).
  • Auto - Zdecyduj, czy we wpisach ma być stosowana kompresja równoległa, czy nie. Ta opcja może kompresować niektóre wpisy tylko równolegle.

Poniżej przedstawiono kroki zastosowania kompresji równoległej podczas tworzenia archiwum ZIP w języku Python.

  • Najpierw utwórz nowe archiwum za pomocą klasy Archive.
  • Następnie dodaj pliki lub foldery do archiwum ZIP (jak pokazano w poprzednich sekcjach).
  • Utwórz instancję klasy ParallelOptions i ustaw właściwość ParallelCompressinmemory na żądaną wartość ParallelCompressionMode.
  • Utwórz instancję klasy ArchiveSaveOptions.
  • Przypisz obiekt ParallelOptions do właściwości ArchiveSaveOptions.paralleloptions.
  • Na koniec zapisz archiwum ZIP za pomocą metody Archive.save().

Poniższy przykładowy kod pokazuje, jak zastosować kompresję równoległą podczas spakowania plików w Python.

# Twórz i zapisuj archiwum zawierające wiele plików
import aspose.zip as az

with az.Archive() as archive:        
    # Dodaj pliki/folder do zip
    archive.create_entry("file", "file.txt")
    archive.create_entry("file2", "file2.txt")

    # Utwórz opcje kompresji równoległej
    parallelOptions = az.saving.ParallelOptions()
    parallelOptions.parallel_compress_in_memory = az.saving.ParallelCompressionMode.ALWAYS

    # Utwórz opcje zapisywania ZIP
    archiveSaveOptions = az.saving.ArchiveSaveOptions()

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

    # Utwórz i zapisz archiwum zip
    archive.save('parallel_compression_archive.zip', archiveSaveOptions)

Zdobądź bezpłatną licencję

Możesz uzyskać bezpłatną licencję tymczasową i kompresować pliki do archiwum ZIP bez żadnych ograniczeń ewaluacyjnych.

Biblioteka ZIP Python — zasoby

Możesz dowiedzieć się więcej o naszej bibliotece ZIP Python, korzystając z następujących zasobów:

Twórz archiwa ZIP online

Wypróbuj naszą bezpłatną aplikację do spakowania plików, która jest obsługiwana przez Aspose.ZIP for Python.

Wniosek

Podsumowując, Aspose.ZIP for Python oferuje solidne i wszechstronne rozwiązanie do łatwego tworzenia i zarządzania archiwami ZIP. Dzięki wszechstronnemu zestawowi funkcji programiści mogą bezproblemowo integrować funkcjonalność ZIP ze swoimi aplikacjami w języku Python. Niezależnie od tego, czy kompresujesz pliki, dodajesz szyfrowanie, czy organizujesz złożone struktury katalogów, Aspose.ZIP zapewnia niezawodny zestaw narzędzi usprawniających te zadania.

W tym artykule znajdziesz kompletny przewodnik na temat tworzenia archiwów ZIP w Python. Ponadto omówiliśmy, jak archiwizować wiele plików i folderów, tworzyć archiwa ZIP chronione hasłem, stosować szyfrowanie AES i konfigurować metody kompresji równoległej ZIP. Możesz łatwo zintegrować bibliotekę z aplikacjami w języku Python i skorzystać z dostarczonych przykładów kodu.

Zobacz też