Vytvořte ZIP v Python

Archivy ZIP komprimují a spojují více souborů nebo složek do jednotného kontejneru. Archiv ZIP nejenže zapouzdřuje soubory a složky, ale také uchovává jejich metadata. Primárně snižují velikost souborů pro ukládání/přenos a přidávají zabezpečení pomocí šifrování. Kromě konvenčních nástrojů pro kompresi souborů integrují desktopové a webové aplikace funkce automatické komprese a extrakce pro zjednodušení úloh, jako je nahrávání, stahování, sdílení a šifrování souborů. Tento článek představuje zjednodušený způsob komprimace souborů nebo složek a vytváření archivů ZIP v Python. Také popisuje, jak vytvořit šifrované a heslem chráněné archivy ZIP v Python. Pojďme se do toho tedy ponořit.

Knihovna ZIP v Python

Aspose.ZIP for Python je výkonná a všestranná knihovna, která poskytuje vývojářům komplexní sadu nástrojů pro práci se soubory ZIP v aplikacích Python. Aspose.ZIP for Python se svým intuitivním rozhraním API a širokou škálou funkcí usnadňuje vytváření, extrahování a efektivní správu archivů ZIP. Knihovnu můžete nainstalovat z PyPI pomocí následujícího příkazu.

> pip install aspose-zip

Vytvořte ZIP archiv v Python

Níže jsou uvedeny kroky ke komprimaci souboru jeho přidáním do archivu ZIP v Python.

  • Nejprve vytvořte nový ZIP archiv pomocí třídy Archive.
  • Poté přidejte soubor do archivu ZIP pomocí metody Archive.createentry().
  • Nakonec uložte archiv ZIP pomocí metody Archive.save().

Následující ukázka kódu ukazuje, jak přidat soubor do archivu ZIP v Python.

import aspose.zip as az

# Vytvořte a uložte archiv s jedním souborem
with az.Archive() as archive:
    # Přidat soubor do archivu
    archive.create_entry("file", "file.txt")

    # Vytvořte a uložte archiv zip
    archive.save('my_archive.zip')

Přidejte více souborů do archivu ZIP v Python

V předchozí části jsme si ukázali, jak vložit jeden soubor do archivu ZIP. Pokud však máte více než jeden soubor, můžete opakovaně volat metodu Archive.createentry().

Následující ukázka kódu ukazuje, jak vložit více souborů do archivu ZIP v Python.

import aspose.zip as az

# Vytvořte a uložte archiv s více soubory
with az.Archive() as archive:
    # Přidejte první soubor
    archive.create_entry("file", "file.txt")

    # Přidejte druhý soubor
    archive.create_entry("file2", "file2.txt")

    # Vytvořte a uložte archiv zip
    archive.save('my_archive.zip')

Přidejte složky do archivu ZIP v Python

Do archivů ZIP můžete komprimovat nejen soubory, ale také složky. K tomu nemusíte přidávat každý soubor ve složce do archivu jeden po druhém. Jednoduše zavolejte metodu Archive.createentries(), předejte název složky a je to. Pro pochopení níže jsou kroky archivace kompletní složky.

  • Nejprve vytvořte nový archiv pomocí třídy Archive.
  • Poté přidejte složku do archivu ZIP pomocí metody Archive.createentries(název složky).
  • Nakonec uložte archiv ZIP pomocí metody Archive.save().

Následující ukázka kódu ukazuje, jak přidat složku do ZIP v Python.

import aspose.zip as az

# Vytvořte archiv ze složky
with az.Archive() as archive:
    # Přidat složku do zipu
    archive.create_entries("files")

    # Vytvořte a uložte archiv zip
    archive.save('my_archive_from_folder.zip')

Vytvořte v Python ZIP chráněný heslem

V různých případech, například při sdílení archivu na internetu, musíte soubor ZIP chránit heslem. Vytvoření archivu ZIP chráněného heslem pomocí Aspose.ZIP for Python je přímočarý proces, který nabízí vylepšené zabezpečení vašich komprimovaných souborů. Pojďme se tedy podívat, jak chránit ZIP archiv heslem v Python.

  • Nejprve vytvořte objekt třídy ArchiveEntrySettings a inicializujte jej požadovaným heslem.
  • Poté vytvořte objekt třídy Archive a inicializujte jej objektem ArchiveEntrySettings, který jste vytvořili výše.
  • Poté přidejte soubory a složky do archivu ZIP.
  • Nakonec uložte archiv ZIP pomocí metody Archive.save().

Následující ukázka kódu ukazuje, jak vytvořit archiv ZIP chráněný heslem v Python.

import aspose.zip as az

# Vytvořte nastavení archivu a nastavte heslo
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.TraditionalEncryptionSettings("password"))

# Vytvořte a uložte archiv s více soubory
with az.Archive(archive_settings) as archive:        
    # Přidat složku do zipu
    archive.create_entries("files")

    # Vytvořte a uložte archiv zip
    archive.save('protected_archive.zip')

Šifrujte archiv ZIP pomocí šifrování AES

V předchozím příkladu jsme použili tradiční nastavení k ochraně ZIP archivu heslem. Aspose.ZIP for Python vám však umožňuje používat šifrování AES k šifrování vašich archivů ZIP. Můžete použít následující metody šifrování AES:

  • AES128
  • AES192
  • AES256

Proces použití šifrování AES je stejný, jak jste viděli v předchozí části. Jediný rozdíl je v tom, že nyní budete při definování nastavení archivu používat AesEcryptionSettings místo TraditionalEncryptionSettings. Následující ukázka kódu ukazuje, jak použít šifrování AES na archivy ZIP v Python.

import aspose.zip as az

# Vytvořte nastavení archivu a nastavte heslo
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.AesEcryptionSettings("pass", az.saving.EncryptionMethod.AES128))

# Vytvořte a uložte archiv s více soubory
with az.Archive(archive_settings) as archive:        
    # Přidat složku do zipu
    archive.create_entries("files")

    # Vytvořte a uložte archiv zip
    archive.save('protected_archive.zip')

Nastavte režim paralelní komprese

Aspose.ZIP for Python vám také umožňuje přizpůsobit proces archivace ZIP pomocí nastavení paralelní komprese. Tato konfigurace říká API, kdy má použít paralelní kompresi. K dispozici jsou následující režimy paralelní komprese.

  • Nikdy - Nestlačujte paralelně.
  • Vždy - Provádějte komprimaci paralelně (pozor na nedostatek paměti).
  • Automaticky – rozhodněte, zda u položek použít paralelní kompresi či nikoli. Tato možnost může komprimovat pouze některé položky paralelně.

Níže jsou uvedeny kroky pro použití paralelní komprese při vytváření archivu ZIP v Python.

  • Nejprve vytvořte nový archiv pomocí třídy Archive.
  • Poté přidejte soubory nebo složky do archivu ZIP (jak je uvedeno v předchozích částech).
  • Vytvořte instanci třídy ParallelOptions a nastavte vlastnost parallelcompressinmemory na požadovanou hodnotu ParallelCompressionMode.
  • Vytvořte instanci třídy ArchiveSaveOptions.
  • Přiřaďte objekt ParallelOptions vlastnosti ArchiveSaveOptions.paralleloptions.
  • Nakonec uložte archiv ZIP pomocí metody Archive.save().

Níže uvedená ukázka kódu ukazuje, jak aplikovat paralelní kompresi při komprimování souborů v Python.

# Vytvořte a uložte archiv s více soubory
import aspose.zip as az

with az.Archive() as archive:        
    # Přidejte soubory/složku do zipu
    archive.create_entry("file", "file.txt")
    archive.create_entry("file2", "file2.txt")

    # Vytvořte možnosti pro paralelní kompresi
    parallelOptions = az.saving.ParallelOptions()
    parallelOptions.parallel_compress_in_memory = az.saving.ParallelCompressionMode.ALWAYS

    # Vytvořte možnosti uložení ZIP
    archiveSaveOptions = az.saving.ArchiveSaveOptions()

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

    # Vytvořte a uložte archiv zip
    archive.save('parallel_compression_archive.zip', archiveSaveOptions)

Získejte bezplatnou licenci

Můžete získat bezplatnou dočasnou licenci a komprimovat soubory do archivu ZIP bez jakýchkoli omezení hodnocení.

Python ZIP Library - zdroje

Více o naší knihovně Python ZIP můžete prozkoumat pomocí následujících zdrojů:

Vytvářejte archivy ZIP online

Vyzkoušejte naši bezplatnou aplikaci pro zipování souborů, která využívá Aspose.ZIP for Python.

Závěr

Závěrem lze říci, že Aspose.ZIP for Python nabízí robustní a všestranné řešení pro snadné vytváření a správu archivů ZIP. Díky komplexní sadě funkcí mohou vývojáři bezproblémově integrovat funkce ZIP do svých aplikací Python. Ať už se jedná o kompresi souborů, přidávání šifrování nebo organizování složitých adresářových struktur, Aspose.ZIP poskytuje spolehlivou sadu nástrojů pro zefektivnění těchto úkolů.

Tento článek vám poskytl kompletní návod, jak vytvořit ZIP archivy v Python. Kromě toho jsme se zabývali tím, jak archivovat více souborů a složek, vytvářet archivy ZIP chráněné heslem, používat šifrování AES a konfigurovat paralelní metody komprese ZIP. Knihovnu můžete snadno integrovat do svých aplikací Python a používat poskytnuté ukázky kódu.

Viz také