Cómo descomprimir archivos en Python
-
Descomprimir los archivos en Python usando el método
extractall()
al directorio de trabajo -
Descomprimir archivos en Python usando el método
extractall()
a un directorio diferente -
Descomprimir los archivos en Python usando el método
extractall()
basado en la condición -
Descomprimir archivos en Python usando el método
unpack_archive()
Un archivo ZIP
tiene un formato de archivo y ayuda a la compresión de datos sin pérdidas. Un solo archivo ZIP
puede contener más de un archivo comprimido. En un archivo ZIP
, varios archivos se transfieren más rápido que uno solo, y esto disminuye el tamaño de los datos. El módulo ZipFile
incorporado en Python puede ser usado para descomprimir los archivos Zip.
Este artículo tratará sobre los diferentes métodos para extraer los archivos comprimidos o Zip en Python.
Descomprimir los archivos en Python usando el método extractall()
al directorio de trabajo
Primero importemos el módulo zipfile
incorporado en Python usando el siguiente comando.
from zipfile import ZipFile
El código de ejemplo completo es el siguiente:
from zipfile import ZipFile
test_file_name = "my_files.zip"
with ZipFile(test_file_name, "r") as zip:
zip.printdir()
zip.extractall()
La r
de la función ZipFile
representa la operación de lectura del archivo, mientras que la función extractall()
extraerá el contenido del archivo zip al directorio de trabajo actual.
Resultado:
File Name Modified Size
file1.txt 2020-11-09 23:03:06 0
file2.txt 2020-11-09 23:03:18 0
Descomprimir archivos en Python usando el método extractall()
a un directorio diferente
Este método extrae los archivos zip pero a un directorio diferente. La principal diferencia es que pasaremos el directorio de destino como argumento en el método extractall()
.
El código de ejemplo completo es el siguiente:
from zipfile import ZipFile
with ZipFile("my_files.zip", "r") as zip:
zip.extractall("temp")
print("File is unzipped in temp folder")
Se creará un nuevo directorio temp
en el directorio de trabajo actual, y todos los archivos zip se extraen allí.
Resultado:
Files are unzipped in temp folder
Descomprimir los archivos en Python usando el método extractall()
basado en la condición
Este método es útil cuando se tiene un gran número de archivos en un archivo zip, y se necesita extraer archivos con una extensión específica. Por ejemplo, extraeremos los archivos .txt
del archivo zip.
El código completo del ejemplo es el siguiente:
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 función namelist()
devuelve los nombres de todos los archivos del archivo zip.
El método endswith()
comprueba si el nombre del archivo termina con .txt
. Si es así, la función extract()
extraerá los archivos .txt
a la carpeta temp_txt
en el directorio de trabajo actual.
Descomprimir archivos en Python usando el método unpack_archive()
Este método utiliza el módulo shutil
incorporado en Python. Extraerá todos los formatos de los archivos archivados.
El código de ejemplo completo es el siguiente:
import shutil
shutil.unpack_archive("test.zip")
Los archivos extraídos estarán en el directorio de trabajo actual donde estás ejecutando este script.