Crea ZIP in Python

Gli archivi ZIP comprimono e raggruppano più file o cartelle in un contenitore unificato. L’archivio ZIP non solo incapsula file e cartelle, ma conserva anche i loro metadati. Riducono principalmente le dimensioni dei file per l’archiviazione/trasmissione e aggiungono sicurezza tramite la crittografia. Oltre agli strumenti convenzionali di compressione dei file, le applicazioni desktop e Web integrano funzionalità di compressione ed estrazione automatizzate per semplificare attività quali caricamento, download, condivisione e crittografia dei file. Questo articolo presenta un modo semplificato per comprimere file o cartelle e creare archivi ZIP in Python. Inoltre, spiega come creare archivi ZIP crittografati e protetti da password in Python. Quindi approfondiamolo.

Libreria ZIP Python

Aspose.ZIP for Python è una libreria potente e versatile che fornisce agli sviluppatori un set completo di strumenti per lavorare con file ZIP nelle applicazioni Python. Con la sua API intuitiva e un’ampia gamma di funzionalità, Aspose.ZIP for Python semplifica la creazione, l’estrazione e la gestione efficiente degli archivi ZIP. È possibile installare la libreria da PyPI utilizzando il seguente comando.

> pip install aspose-zip

Crea un archivio ZIP in Python

Di seguito sono riportati i passaggi per comprimere un file aggiungendolo in un archivio ZIP in Python.

  • Innanzitutto, crea un nuovo archivio ZIP utilizzando la classe Archive.
  • Quindi, aggiungi il file all’archivio ZIP utilizzando il metodo Archive.createentry().
  • Infine, salva l’archivio ZIP utilizzando il metodo Archive.save().

Il seguente esempio di codice mostra come aggiungere un file in un archivio ZIP in Python.

import aspose.zip as az

# Crea e salva l'archivio con un singolo file
with az.Archive() as archive:
    # Aggiungi file all'archivio
    archive.create_entry("file", "file.txt")

    # Crea e salva un archivio zip
    archive.save('my_archive.zip')

Aggiungi più file nell’archivio ZIP in Python

Nella sezione precedente, abbiamo dimostrato come inserire un singolo file nell’archivio ZIP. Tuttavia, se hai più di un file, puoi chiamare ripetutamente il metodo Archive.createentry().

Il seguente esempio di codice mostra come inserire più file in un archivio ZIP in Python.

import aspose.zip as az

# Crea e salva un archivio con più file
with az.Archive() as archive:
    # Aggiungi il primo file
    archive.create_entry("file", "file.txt")

    # Aggiungi il secondo file
    archive.create_entry("file2", "file2.txt")

    # Crea e salva un archivio zip
    archive.save('my_archive.zip')

Aggiungi cartelle a un archivio ZIP in Python

Non solo i file ma puoi anche comprimere le cartelle negli archivi ZIP. Per questo, non è necessario aggiungere ogni file nella cartella all’archivio uno per uno. Chiama semplicemente il metodo Archive.createentries(), passa il nome della cartella e il gioco è fatto. Per tua comprensione, di seguito sono riportati i passaggi per archiviare una cartella completa.

  • Innanzitutto, crea un nuovo archivio utilizzando la classe Archive.
  • Quindi, aggiungi la cartella all’archivio ZIP utilizzando il metodo Archive.createentries(nomecartella).
  • Infine, salva l’archivio ZIP utilizzando il metodo Archive.save().

L’esempio di codice seguente mostra come aggiungere una cartella a ZIP in Python.

import aspose.zip as az

# Crea un archivio da una cartella
with az.Archive() as archive:
    # Aggiungi la cartella allo zip
    archive.create_entries("files")

    # Crea e salva un archivio zip
    archive.save('my_archive_from_folder.zip')

Crea un ZIP protetto da password in Python

In vari casi, ad esempio quando si condivide l’archivio su Internet, è necessario proteggere il file ZIP con una password. La creazione di un archivio ZIP protetto da password utilizzando Aspose.ZIP for Python è un processo semplice che offre maggiore sicurezza per i file compressi. Vediamo allora come proteggere un archivio ZIP con una password in Python.

  • Innanzitutto, crea un oggetto della classe ArchiveEntrySettings e inizializzalo con la password desiderata.
  • Quindi, crea un oggetto della classe Archive e inizializzalo con l’oggetto ArchiveEntrySettings che hai creato sopra.
  • Successivamente, aggiungi file e cartelle all’archivio ZIP.
  • Infine, salva l’archivio ZIP utilizzando il metodo Archive.save().

Il seguente esempio di codice mostra come creare un archivio ZIP protetto da password in Python.

import aspose.zip as az

# Crea le impostazioni dell'archivio e imposta la password
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.TraditionalEncryptionSettings("password"))

# Crea e salva un archivio con più file
with az.Archive(archive_settings) as archive:        
    # Aggiungi la cartella allo zip
    archive.create_entries("files")

    # Crea e salva un archivio zip
    archive.save('protected_archive.zip')

Crittografa l’archivio ZIP con la crittografia AES

Nell’esempio precedente, abbiamo applicato le impostazioni tradizionali per proteggere un archivio ZIP con una password. Tuttavia, Aspose.ZIP for Python ti consente di utilizzare la crittografia AES per crittografare i tuoi archivi ZIP. È possibile utilizzare i seguenti metodi di crittografia AES:

  • AES128
  • AES192
  • AES256

Il processo di applicazione della crittografia AES è lo stesso visto nella sezione precedente. L’unica differenza è che ora utilizzerai AesEcryptionSettings invece di TraditionalEncryptionSettings quando definisci le impostazioni di archivio. L’esempio di codice seguente dimostra come applicare la crittografia AES agli archivi ZIP in Python.

import aspose.zip as az

# Crea le impostazioni dell'archivio e imposta la password
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.AesEcryptionSettings("pass", az.saving.EncryptionMethod.AES128))

# Crea e salva un archivio con più file
with az.Archive(archive_settings) as archive:        
    # Aggiungi la cartella allo zip
    archive.create_entries("files")

    # Crea e salva un archivio zip
    archive.save('protected_archive.zip')

Imposta la modalità di compressione parallela

Aspose.ZIP for Python consente inoltre di personalizzare il processo di archiviazione ZIP utilizzando le impostazioni di compressione parallela. Questa configurazione indica all’API quando applicare la compressione parallela. Sono disponibili le seguenti modalità di compressione parallela.

  • Mai: non comprimere in parallelo.
  • Sempre: comprimi in parallelo (attenzione alla memoria insufficiente).
  • Auto: decidi se utilizzare o meno la compressione parallela sulle voci. Questa opzione potrebbe comprimere alcune voci solo in parallelo.

Di seguito sono riportati i passaggi per applicare la compressione parallela durante la creazione di un archivio ZIP in Python.

  • Innanzitutto, crea un nuovo archivio utilizzando la classe Archive.
  • Quindi, aggiungi file o cartelle all’archivio ZIP (come mostrato nelle sezioni precedenti).
  • Crea un’istanza della classe ParallelOptions e imposta la proprietà parallelcompressinmemory sul valore ParallelCompressionMode desiderato.
  • Crea un’istanza della classe ArchiveSaveOptions.
  • Assegna l’oggetto ParallelOptions alla proprietà ArchiveSaveOptions.paralleloptions.
  • Infine, salva l’archivio ZIP utilizzando il metodo Archive.save().

L’esempio di codice seguente mostra come applicare la compressione parallela durante la compressione dei file in Python.

# Crea e salva un archivio con più file
import aspose.zip as az

with az.Archive() as archive:        
    # Aggiungi file/cartelle allo zip
    archive.create_entry("file", "file.txt")
    archive.create_entry("file2", "file2.txt")

    # Crea opzioni per la compressione parallela
    parallelOptions = az.saving.ParallelOptions()
    parallelOptions.parallel_compress_in_memory = az.saving.ParallelCompressionMode.ALWAYS

    # Crea opzioni di salvataggio ZIP
    archiveSaveOptions = az.saving.ArchiveSaveOptions()

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

    # Crea e salva un archivio zip
    archive.save('parallel_compression_archive.zip', archiveSaveOptions)

Ottieni una licenza gratuita

Puoi ottenere una licenza temporanea gratuita e comprimere i file in un archivio ZIP senza limitazioni di valutazione.

Libreria ZIP Python - Risorse

Puoi esplorare di più sulla nostra libreria ZIP Python utilizzando le seguenti risorse:

Crea archivi ZIP online

Prova la nostra applicazione gratuita per la compressione di file, basata su Aspose.ZIP for Python.

Conclusione

In conclusione, Aspose.ZIP for Python offre una soluzione robusta e versatile per creare e gestire archivi ZIP senza sforzo. Grazie al suo set completo di funzionalità, gli sviluppatori possono integrare perfettamente la funzionalità ZIP nelle loro applicazioni Python. Che si tratti di comprimere file, aggiungere crittografia o organizzare strutture di directory complesse, Aspose.ZIP fornisce un toolkit affidabile per semplificare queste attività.

Questo articolo ti ha fornito una guida completa su come creare archivi ZIP in Python. Inoltre, abbiamo spiegato come archiviare più file e cartelle, creare archivi ZIP protetti da password, applicare la crittografia AES e configurare metodi di compressione ZIP paralleli. Puoi integrare facilmente la libreria nelle tue applicazioni Python e utilizzare gli esempi di codice forniti.

Guarda anche