Decomprimere i file in Python
-
Decomprimere i file in Python usando il metodo
extractall()
nella directory di lavoro -
Decomprimere i file in Python usando il metodo
extractall()
in una directory diversa -
Decomprimere i file in Python usando il metodo
extractall()
basato sulla condizione -
Decomprimere i file in Python usando il metodo
unpack_archive()
Un file ZIP
ha un formato di file di archivio e aiuta nella compressione dei dati senza perdita di dati. Un singolo file ZIP
può contenere più di un file compresso. In un file ZIP
, più file vengono trasferiti più velocemente di un singolo file e diminuisce la dimensione dei dati. Il modulo ZipFile
integrato in Python potrebbe essere usato per decomprimere i file Zip.
Questo articolo discuterà i diversi metodi per estrarre i file compressi o Zip in Python.
Decomprimere i file in Python usando il metodo extractall()
nella directory di lavoro
Per prima cosa importiamo il modulo zipfile
integrato in Python usando il comando seguente.
from zipfile import ZipFile
Il codice di esempio completo è il seguente:
from zipfile import ZipFile
test_file_name = "my_files.zip"
with ZipFile(test_file_name, "r") as zip:
zip.printdir()
zip.extractall()
La r
nella funzione ZipFile
rappresenta l’operazione di lettura del file, mentre la funzione extractall()
estrarrà il contenuto del file zip nella directory di lavoro corrente.
Produzione:
File Name Modified Size
file1.txt 2020-11-09 23:03:06 0
file2.txt 2020-11-09 23:03:18 0
Decomprimere i file in Python usando il metodo extractall()
in una directory diversa
Questo metodo estrae i file zip ma in una directory diversa. La differenza principale è che passeremo la directory di destinazione come argomento nel metodo extractall()
.
Il codice di esempio completo è il seguente:
from zipfile import ZipFile
with ZipFile("my_files.zip", "r") as zip:
zip.extractall("temp")
print("File is unzipped in temp folder")
Una nuova directory temp
verrà creata nella directory di lavoro corrente e tutti i file zip verranno estratti lì.
Produzione:
Files are unzipped in temp folder
Decomprimere i file in Python usando il metodo extractall()
basato sulla condizione
Questo metodo è utile quando si dispone di un numero elevato di file in un file zip ed è necessario estrarre file con un’estensione specifica. Ad esempio, estrarremo i file .txt
dal file zip.
Il codice di esempio completo è il seguente:
from zipfile import ZipFile
with ZipFile("my_files.zip", "r") as obj_zip:
FileNames = obj_zip.namelist()
for fileName in FileNames:
if fileName.endswith(".txt"):
zipObj.extract(fileName, "temp_txt")
La funzione namelist()
restituisce i nomi di tutti i file nel file zip.
Il metodo endswith()
controlla se il nome del file finisce con .txt
. In tal caso, la funzione extract()
estrarrà i file .txt
nella cartella temp_txt
nella directory di lavoro corrente.
Decomprimere i file in Python usando il metodo unpack_archive()
Questo metodo usa il modulo shutil
integrato in Python. Estrarrà tutti i formati di file archiviati.
Il codice di esempio completo è il seguente:
import shutil
shutil.unpack_archive("test.zip")
I file estratti si troveranno nella directory di lavoro corrente in cui stai eseguendo questo script.