Objeto Python Zipinfo

Objeto Python Zipinfo
La compresión de datos sin pérdidas es compatible con el formato de archivo de archivo conocido como zip. La compresión sin pérdidas es cuando los datos originales se pueden recrear con precisión de los datos comprimidos, gracias al algoritmo de compresión. En consecuencia, un archivo zip es un solo archivo que contiene uno o más archivos comprimidos, proporcionando un enfoque perfecto para reducir el tamaño de los archivos enormes y mantener la información relacionada unida.

Descubriremos en esta publicación cómo usar el objeto ZipInfo ZipInfo de Python para manipular archivos zip. Python tiene un módulo integrado llamado ZipFile que contiene el objeto Zipinfo. Usando la clase ZIPFILE ZIPINFO, uno puede representar un miembro de la carpeta zip. Al usar las funciones getInfo () e infolist () en los objetos ZipFile, los objetos de la clase ZIPINFO se devuelven. La información de un miembro de un archivo de archivo de ZIP individual se almacena en cada objeto. Un objeto Zipinfo no se puede crear directamente. Usando los métodos adicionales que se muestran a continuación, podemos adquirir instancias de clase Zipinfo.

  1. Una lista de objetos Zipinfo que representan a cada miembro de la clase ZipFile se mantiene en la constante de Filelista del objeto.
  2. Además, el método infolista () de un objeto de clase Zipinfile devuelve una lista de objetos de clase Zipinfo para los miembros de un archivo zip de un archivo zip de un archivo zip de un objeto ZIPFILE.
  3. La función getinfo () de un objeto de clase Zipinfo devuelve un objeto de ZipInfo que pertenece a un miembro específico de un objeto de clase ZIPFILE.

Sintaxis del objeto Zipinfo en Python

La siguiente sintaxis Zipinfo, nos desplegamos en nuestro script de Python.

Zipinfo.from_file (nombre de archivo, arcName = none, strict_timestamps = true)

A continuación, hemos discutido brevemente la sintaxis de Zipinfo.

La función de desde el archivo () requerida por el archivo (). La ruta al archivo desde el que se construyó el objeto ZipInfo se mantiene en el campo "nombre de archivo". Esta ruta podría ser un objeto del tipo de ruta o un nombre de archivo del tipo de clase STR. Además, tiene un argumento opcional "ArcName". El nombre que se usa para crear un objeto ZipInfo se almacena en este argumento.

Similar al parámetro del nombre de archivo, tiene el mismo valor predeterminado. ArcName obtiene el nombre de archivo en el objeto ZipInfo cuando se da un nombre diferente a la opción ArcName. Este método devuelve un objeto ZipInfo. Toda la información necesaria para que el archivo con el nombre de archivo especificado se convierta en un archivo zip está contenida en este objeto ZIPINFO. Posteriormente, estos datos se recuperan siguiendo las necesidades del usuario.

Ejemplo 1:
Hemos utilizado la función Dir () para estudiar cada objeto en la clase ZipFile Zipinfo. Mira el código a continuación.

Importar zipfile
Imprimir (Dir (ZipFile.zipinfo))

Como ya se discutió anteriormente, el módulo ZipFile puede acceder a ZipInfo en Python. Aquí, hemos agregado el módulo ZipFile para obtener el objeto Zipinfo. Luego, tenemos un método de impresión donde hemos invocado el método Dir () para mostrar todos los objetos que contiene la clase ZIPINFO. Para esto, hemos pasado el archivo zip junto con el objeto zipinfo al método de impresión.

Cuando se depugga el código anterior, genera los siguientes resultados:

Ejemplo 2:
Hemos utilizado las instancias ZIPINFO en el siguiente código para explicar la funcionalidad de cada método en los archivos zip. Veamos el código, hemos implementado a continuación.

importar zipfile
zf = Zipfile.Zipfile ("myfile.Zip "," W ")
ZF.escribir ("myfile.txt "," dir/myfile.TXT")
Imprimir (ZF.infolista () [0].Nombre del archivo)
Def Main ()::
con Zipfile.Zipfile ('myfile.zip ') como archivo:
archivo = archivo.infolista ()
read_file = Archive [-1]
print ("Nombre del archivo:- ".formato (read_file.Nombre del archivo))
print ("tamaño de archivo:- ".formato (read_file.tamaño del archivo))
print ("es directorio:- ".formato (read_file.is_dir ()))
imprimir ("Fecha y hora del archivo:- ".formato (read_file.fecha y hora))
Si __name__ == '__main__': main ()

Aquí, primero hemos importado el paquete ZipFile. Luego, implementamos un código para agregar el directorio de archivos para almacenar los archivos zip. Para esto, hemos creado un objeto como ZF y especificado el nombre del archivo dentro de la función de clase ZIPFILE ZIPFILE. Hemos establecido el nombre del archivo zip dentro de esa función en modo de escritura. Hemos llamado a la función de escritura, donde establecemos el directorio del archivo. Después de eso, dentro de la función de impresión, hemos llamado la función infolista para contener todos los archivos y carpetas del directorio especificado.

Como se establece el directorio de archivos ZIP, podemos utilizar el objeto ZipInfo de la clase ZIPFILE. Hemos definido la función principal de este programa con la palabra clave DEF. Dentro de la función, hemos llamado al archivo zip que está presente como 'myfile.cremallera'. Hemos creado una variable como archivo donde tenemos infolista (). El infolista () es la instancia de la clase Zipfile. La función "infolist ()" devuelve una lista de todos los archivos y directorios en los objetos zip -> "zipinfo".

Después de eso, el elemento final de la lista se asigna a un 'archivo' variable para que se puedan probar todos los métodos de "zipinfo". Al final, tenemos una declaración de impresión donde hemos usado los objetos de clase Zipinfo. La primera declaración de impresión tiene Zipinfo.nombre de archivo que devuelve el nombre del archivo. Luego, tenemos un tamaño de archivo ZIPINFO, IS_DIR y objetos date_time de la clase ZIPINFO para devolver el resultado específico de acuerdo con su funcionalidad.

Los objetos ZipInfo proporcionaron la siguiente salida que incluye el nombre del archivo, su directorio, el tamaño del archivo y la fecha y la hora del archivo.

Ejemplo 3:
La clase Zipinfo ofrece numerosos métodos. Estas numerosas técnicas se utilizan para alterar un archivo zip y se pueden utilizar para realizar varias operaciones en él. El método From File () es de lo que estamos hablando aquí.

de Zipfile import Zipfile, Zipinfo
zf = zipfile ("myfile.zip ", mode = 'r')
imprimir ("Nombre de los archivos existentes en el archivo zip:", ZF.namelist (), sep = "\ n")
Imprimir ("\ morder el archivo en la archieve.")
zip_file = zipinfo.from_file (filename = "myfile.TXT")
imprimir (tipo (ZIP_FILE))
imprimir ("nombre de archivo del objeto ZipInfo:", Zip_File.Nombre del archivo)

En el programa, desde el módulo ZipFile, hemos importado ZipFile y ZipInfo. Después de eso, especificamos el nombre del archivo en modo de escritura dentro de la variable 'ZF'. Luego, obtenemos la lista de archivos colocados en la carpeta de archivos zip invocando el método namelist () en el método de impresión. Hemos creado otra variable como ZIP_FILE, donde hemos utilizado el objeto ZipInfo desde_file y le dieron un nombre de archivo. Aquí, también hemos obtenido el tipo de archivo zip. La última declaración de impresión es utilizar el nombre de archivo de instancia del ZipInfo.

La implementación del programa mencionado menciona la salida que se enumera a continuación.

Conclusión:

La clase Zipinfo pertenece al módulo ZipFile. La información sobre un miembro del archivo está representada por esta clase. El usuario puede obtener información sobre los componentes de un archivo zip utilizando varias técnicas diferentes que se incluyen en la herramienta. Para que lo entiendas mejor, hemos incluido varias muestras.