Python File ZIP con esempio
⚡ Riepilogo intelligente
Python crea archivi ZIP con i moduli integrati shutil e zipfile. Qui imparerai a comprimere un'intera directory usando make_archive(), comprimere file specifici con ZipFile e altro ancora.tract, elenca e leggi il contenuto dell'archivio.
Python consente di creare rapidamente archivi zip/tar.
Il seguente comando comprimerà l'intera directory
shutil.make_archive(output_filename, 'zip', dir_name)
Il seguente comando ti dà il controllo sui file che vuoi archiviare
ZipFile.write(filename)
Come comprimere un'intera directory in Python
Ecco i passaggi per creare un file zip in Python
Passo 1) Per creare un file di archivio da Python, assicurati di avere la tua dichiarazione di importazione corretta e in ordine. Qui la dichiarazione di importazione per l'archivio è from shutil import make_archive
Code Spiegazione
- Importa la classe make_archive dal modulo shutil
- Utilizzare la funzione di divisione per dividere la directory e il nome del file dal percorso alla posizione del file di testo (guru99)
- Quindi chiamiamo il modulo “shutil.make_archive(“guru99 archive, “zip”, root_dir)” per creare il file di archivio, che sarà in formato zip
- Successivamente passiamo alla directory principale delle cose che vogliamo comprimere. Quindi tutto nella directory verrà compresso
- Quando esegui il codice, puoi vedere che il file zip dell'archivio viene creato sul lato destro del pannello.
Passo 2) Una volta creato il file di archivio, puoi fare clic con il pulsante destro del mouse sul file e selezionare il sistema operativo, che visualizzerà i file di archivio al suo interno come mostrato di seguito
Ora il tuo file archive.zip apparirà sul tuo sistema operativo (Windows Explorer)
Passo 3) Facendo doppio clic sul file, vedrai l'elenco di tutti i file presenti al suo interno.
Come comprimere file specifici utilizzando ZipFile
Passo 4) In Python possiamo avere più controllo sull'archivio poiché possiamo definire quale file specifico includere nell'archivio. Nel nostro caso, includeremo due file nell'archivio “guru99.txt” and “guru99.txt.bak”.
Code Spiegazione
- Importa la classe Zipfile dal file zip Python modulo. Questo modulo offre il pieno controllo sulla creazione di file zip
- Creiamo un nuovo file Zip con nome (“testguru99.zip, “w”)
- La creazione di una nuova classe Zipfile richiede il passaggio dell'autorizzazione perché è un file, quindi è necessario scrivere le informazioni nel file come newzip
- Abbiamo utilizzato la variabile "newzip" per fare riferimento al file zip che abbiamo creato
- Utilizzando la funzione write sulla variabile “newzip”, aggiungiamo i file “guru99.txt” e “guru99.txt.bak” all’archivio
Quando esegui il codice puoi vedere che il file viene creato sul lato destro del pannello con il nome "guru99.zip"
Note:: Qui non diamo alcun comando per "chiudere" il file come "newzip.close" perché utilizziamo il blocco dell'ambito "Con", quindi quando il programma non rientra in questo ambito il file verrà ripulito e chiuso automaticamente.
Passo 5) Quando ti -> fai clic con il pulsante destro del mouse sul file (testguru99.zip) e -> seleziona il tuo sistema operativo (Windows Explorer), mostrerà i file di archivio nella cartella come mostrato di seguito.
Facendo doppio clic sul file “testguru99.zip”, si aprirà un’altra finestra, che mostrerà i file in esso inclusi.
Completato Python Code per creare un file ZIP
Ecco il codice completo
Python 2 Esempio
import os
import shutil
from zipfile import ZipFile
from os import path
from shutil import make_archive
def main():
# Check if file exists
if path.exists("guru99.txt"):
# get the path to the file in the current directory
src = path.realpath("guru99.txt");
# rename the original file
os.rename("career.guru99.txt","guru99.txt")
# now put things into a ZIP archive
root_dir,tail = path.split(src)
shutil.make_archive("guru99 archive", "zip", root_dir)
# more fine-grained control over ZIP files
with ZipFile("testguru99.zip","w") as newzip:
newzip.write("guru99.txt")
newzip.write("guru99.txt.bak")
if __name__== "__main__":
main()
Python 3 Esempio
import os import shutil from zipfile import ZipFile from os import path from shutil import make_archive # Check if file exists if path.exists("guru99.txt"): # get the path to the file in the current directory src = path.realpath("guru99.txt"); # rename the original file os.rename("career.guru99.txt","guru99.txt") # now put things into a ZIP archive root_dir,tail = path.split(src) shutil.make_archive("guru99 archive","zip",root_dir) # more fine-grained control over ZIP files with ZipFile("testguru99.zip", "w") as newzip: newzip.write("guru99.txt") newzip.write("guru99.txt.bak")
Come Extract (Decomprimi) un file ZIP in Python
Per decomprimere un archivio, aprilo in modalità di lettura con ZipFile e chiama extracalto() a extracogni file, o extract() per estrarre un singolo membro.
from zipfile import ZipFile with ZipFile("testguru99.zip", "r") as myzip: myzip.extractall("extracted_files")
L'extracIl metodo tall() scrive tutti i file archiviati nella cartella specificata come argomento.
Come elencare i file in un file ZIP Archive
È possibile ispezionare un archivio senza espulsionetracIl metodo namelist() restituisce i nomi di tutti i file memorizzati all'interno del file ZIP.
from zipfile import ZipFile with ZipFile("testguru99.zip", "r") as myzip: print(myzip.namelist())
Questo comando stampa un elenco dei nomi dei file contenuti nell'archivio.
Come leggere un file all'interno di un archivio ZIP Archive
È possibile leggere un file membro direttamente dall'archivio senza decomprimerlo.ping salvarlo su disco utilizzando il metodo open() di ZipFile.
from zipfile import ZipFile with ZipFile("testguru99.zip", "r") as myzip: with myzip.open("guru99.txt") as f: print(f.read())
Questa funzione è utile quando si ha bisogno del contenuto di un solo file all'interno di un archivio di grandi dimensioni.








