Crear un archivo zip de un directorio usando Python
El archivo zip es un formato de archivo que contiene uno o más archivos comprimidos. Admite la compresión de datos sin pérdida y es el formato de archivo más utilizado en todo el mundo. Este artículo nos ayudará a aprender las formas de convertir un directorio en un archivo zip utilizando el lenguaje de programación Python.
Uso de la biblioteca shutil
para crear un archivo zip de un directorio
La biblioteca shutil
es parte del Python estándar. Ofrece varias funciones de alto nivel para realizar sobre archivos o grupos de archivos, como copiar, comprimir, descomprimir y eliminar. Tiene una función o método llamado make_archive()
que puede convertir cualquier directorio o carpeta en un archivo zip. Los siguientes son los argumentos más utilizados de esta función.
base_name
: Nombre del archivo a crear junto con la ruta y sin ninguna extensión de formato.format
: Es el nombre del formato del archivo. Las opciones disponibles sonzip
(requiere módulozlib
),tar
,gztar
(requiere módulozlib
),bztar
(requiere módulobz2
) yxztar
(requierelzma
módulo).root_dir
: es el directorio que será el directorio raíz del archivo, lo que significa que todas las rutas del archivo serán relativas a él. El valor predeterminado es el directorio actual.base_dir
: es el directorio desde donde se inicia el archivo. Su valor debe ser relativo alroot_dir
. El valor predeterminado es el directorio actual.
Ahora que hemos terminado con una breve teoría sobre el paquete y la función requerida, aprendamos cómo podemos usar esta función para crear un archivo zip desde un directorio.
import os
import shutil
filename = "compressed"
format = "zip"
directory = os.getcwd()
shutil.make_archive(filename, format, directory)
El código anterior comprimirá el directorio de trabajo actual en un archivo zip y nombrará el archivo como compressed.zip
. Tenga en cuenta que no mencionamos la extensión (.zip
) en el base_name
.
Artículo relacionado - Python Dictionary
- Cómo comprobar si existe una clave en un diccionario en Python
- Convertir un diccionario en una lista en Python
- Cómo obtener todos los archivos de un directorio
- Cómo encontrar el valor máximo en el Diccionario Python
- Cómo ordenar un diccionario Python por valor
- Cómo fusionar dos diccionarios en Python 2 y 3