Skapa ZIP i Python

ZIP-arkiv komprimerar och paketerar flera filer eller mappar till en enhetlig behållare. ZIP-arkiv kapslar inte bara in filerna och mapparna utan behåller också deras metadata. De minskar främst filstorleken för lagring/överföring och lägger till säkerhet genom kryptering. Förutom konventionella filkomprimeringsverktyg, integrerar skrivbords- och webbapplikationer automatisk komprimering och extraheringsfunktioner för att effektivisera uppgifter som att ladda upp, ladda ner, dela och kryptera filer. Den här artikeln presenterar ett förenklat sätt att komprimera filer eller mappar och skapa ZIP-arkiv i Python. Den täcker också hur man skapar krypterade och lösenordsskyddade ZIP-arkiv i Python. Så låt oss fördjupa oss i det.

Python ZIP-bibliotek

Aspose.ZIP for Python är ett kraftfullt och mångsidigt bibliotek som förser utvecklare med en omfattande uppsättning verktyg för att arbeta med ZIP-filer i Python-applikationer. Med sitt intuitiva API och breda utbud av funktioner gör Aspose.ZIP för Python det enkelt att skapa, extrahera och hantera ZIP-arkiv effektivt. Du kan installera biblioteket från PyPI med följande kommando.

> pip install aspose-zip

Skapa ett ZIP-arkiv i Python

Följande är stegen för att komprimera en fil genom att lägga till den i ett ZIP-arkiv i Python.

  • Skapa först ett nytt ZIP-arkiv med klassen Archive.
  • Lägg sedan till filen i ZIP-arkivet med metoden Archive.createentry().
  • Slutligen sparar du ZIP-arkivet med metoden Archive.save().

Följande kodexempel visar hur man lägger till en fil i ett ZIP-arkiv i Python.

import aspose.zip as az

# Skapa och spara arkiv med en enda fil
with az.Archive() as archive:
    # Lägg till filen i arkivet
    archive.create_entry("file", "file.txt")

    # Skapa och spara zip-arkiv
    archive.save('my_archive.zip')

Lägg till flera filer i ZIP-arkivet i Python

I föregående avsnitt visade vi hur man infogar en enda fil i ZIP-arkivet. Men om du har mer än en fil kan du anropa Archive.createentry()-metoden upprepade gånger.

Följande kodexempel visar hur man infogar flera filer i ett ZIP-arkiv i Python.

import aspose.zip as az

# Skapa och spara arkiv med flera filer
with az.Archive() as archive:
    # Lägg till första filen
    archive.create_entry("file", "file.txt")

    # Lägg till en andra fil
    archive.create_entry("file2", "file2.txt")

    # Skapa och spara zip-arkiv
    archive.save('my_archive.zip')

Lägg till mappar till ett ZIP-arkiv i Python

Inte bara filerna utan du kan också komprimera mappar till ZIP-arkiven. För detta behöver du inte lägga till varje fil i mappen till arkivet en efter en. Anropa bara Archive.createentries()-metoden, skicka mappens namn, och det är det. För din förståelse, nedan är stegen för att arkivera en komplett mapp.

  • Skapa först ett nytt arkiv med klassen Archive.
  • Lägg sedan till mapp i ZIP-arkivet med metoden Archive.createentries(mappnamn).
  • Slutligen sparar du ZIP-arkivet med metoden Archive.save().

Följande kodexempel visar hur man lägger till en mapp till ZIP i Python.

import aspose.zip as az

# Skapa arkiv från en mapp
with az.Archive() as archive:
    # Lägg till mapp till zip
    archive.create_entries("files")

    # Skapa och spara zip-arkiv
    archive.save('my_archive_from_folder.zip')

Skapa ett lösenordsskyddat ZIP i Python

I olika fall, till exempel när du delar arkivet på internet, måste du skydda ZIP-filen med ett lösenord. Att skapa ett lösenordsskyddat ZIP-arkiv med Aspose.ZIP för Python är en enkel process som erbjuder förbättrad säkerhet för dina komprimerade filer. Så låt oss se hur man skyddar ett ZIP-arkiv med ett lösenord i Python.

  • Skapa först ett objekt av klassen ArchiveEntrySettings och initiera det med önskat lösenord.
  • Skapa sedan ett objekt av klassen Archive och initiera det med ArchiveEntrySettings-objektet som du har skapat ovan.
  • Efter det lägger du till filer och mappar till ZIP-arkivet.
  • Slutligen sparar du ZIP-arkivet med metoden Archive.save().

Följande kodexempel visar hur man skapar ett lösenordsskyddat ZIP-arkiv i Python.

import aspose.zip as az

# Skapa arkivinställningar och ange lösenord
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.TraditionalEncryptionSettings("password"))

# Skapa och spara arkiv med flera filer
with az.Archive(archive_settings) as archive:        
    # Lägg till mapp till zip
    archive.create_entries("files")

    # Skapa och spara zip-arkiv
    archive.save('protected_archive.zip')

Kryptera ZIP-arkiv med AES-kryptering

I föregående exempel använde vi traditionella inställningar för att skydda ett ZIP-arkiv med ett lösenord. Men Aspose.ZIP för Python låter dig använda AES-kryptering för att kryptera dina ZIP-arkiv. Du kan använda följande AES-krypteringsmetoder:

  • AES128
  • AES192
  • AES256

Processen för att tillämpa AES-kryptering är densamma som du har sett i föregående avsnitt. Den enda skillnaden är att du nu kommer att använda AesEcryptionSettings istället för TraditionalEncryptionSettings när du definierar arkivinställningarna. Följande kodexempel visar hur man tillämpar AES-kryptering på ZIP-arkiven i Python.

import aspose.zip as az

# Skapa arkivinställningar och ange lösenord
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.AesEcryptionSettings("pass", az.saving.EncryptionMethod.AES128))

# Skapa och spara arkiv med flera filer
with az.Archive(archive_settings) as archive:        
    # Lägg till mapp till zip
    archive.create_entries("files")

    # Skapa och spara zip-arkiv
    archive.save('protected_archive.zip')

Ställ in läge för parallellkomprimering

Aspose.ZIP för Python låter dig också anpassa ZIP-arkiveringsprocessen med hjälp av parallella komprimeringsinställningar. Den här konfigurationen talar om för API:et när parallellkomprimering ska tillämpas. Följande parallella komprimeringslägen är tillgängliga.

  • Aldrig - Komprimera inte parallellt.
  • Alltid - Komprimera parallellt (se upp för minnet).
  • Auto - Bestäm om du vill använda parallell komprimering eller inte på posterna. Det här alternativet kan endast komprimera vissa poster parallellt.

Följande är stegen för att tillämpa parallell komprimering när du skapar ett ZIP-arkiv i Python.

  • Skapa först ett nytt arkiv med klassen Archive.
  • Lägg sedan till filer eller mappar till ZIP-arkivet (som visas i föregående avsnitt).
  • Skapa en instans av klassen ParallelOptions och ställ in egenskapen parallellcompressinmemory till önskat ParallelCompressionMode-värde.
  • Skapa en instans av klassen ArchiveSaveOptions.
  • Tilldela ParallelOptions-objektet till egenskapen ArchiveSaveOptions.paralleloptions.
  • Slutligen sparar du ZIP-arkivet med metoden Archive.save().

Kodexemplet nedan visar hur man tillämpar parallell komprimering medan du zippar filer i Python.

# Skapa och spara arkiv med flera filer
import aspose.zip as az

with az.Archive() as archive:        
    # Lägg till filer/mapp till zip
    archive.create_entry("file", "file.txt")
    archive.create_entry("file2", "file2.txt")

    # Skapa alternativ för parallell komprimering
    parallelOptions = az.saving.ParallelOptions()
    parallelOptions.parallel_compress_in_memory = az.saving.ParallelCompressionMode.ALWAYS

    # Skapa ZIP-sparalternativ
    archiveSaveOptions = az.saving.ArchiveSaveOptions()

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

    # Skapa och spara zip-arkiv
    archive.save('parallel_compression_archive.zip', archiveSaveOptions)

Skaffa en gratis licens

Du kan få en gratis temporär licens och komprimera filer till ett ZIP-arkiv utan några utvärderingsbegränsningar.

Python ZIP Library - Resurser

Du kan utforska mer om vårt Python ZIP-bibliotek med hjälp av följande resurser:

Gör ZIP-arkiv online

Prova vår gratis filzip-applikation, som drivs av Aspose.ZIP för Python.

Slutsats

Sammanfattningsvis erbjuder Aspose.ZIP för Python en robust och mångsidig lösning för att skapa och hantera ZIP-arkiv utan ansträngning. Med sin omfattande uppsättning funktioner kan utvecklare sömlöst integrera ZIP-funktionalitet i sina Python-applikationer. Oavsett om det handlar om att komprimera filer, lägga till kryptering eller organisera komplexa katalogstrukturer, tillhandahåller Aspose.ZIP en pålitlig verktygslåda för att effektivisera dessa uppgifter.

Den här artikeln gav dig en komplett guide om hur du skapar ZIP-arkiv i Python. Dessutom har vi täckt hur man arkiverar flera filer och mappar, skapar lösenordsskyddade ZIP-arkiv, tillämpar AES-kryptering och konfigurerar parallella ZIP-komprimeringsmetoder. Du kan enkelt integrera biblioteket i dina Python-applikationer och använda de medföljande kodexemplen.

Se även