Pitón tarfil

Pitón tarfil
El formato de archivo TAR se usa para almacenar o archivar varios archivos en un archivo. Esto es muy útil al enviar o transmitir una gran cantidad/paquete de archivos a la red o cuando necesitamos archivar los archivos más antiguos. Para el sistema operativo UNIX, se introduce por primera vez la utilidad "alquitrán". Su objetivo es compilar numerosos archivos en un archivo de archivo, con frecuencia denominado tarball, lo que hace que sea fácil distribuir los datos. El módulo de tarfile de la biblioteca estándar de Python contiene funciones que ayudan a crear archivos o archivos de alquitrán y extraer datos según sea necesario del tarball. Los archivos se pueden crear sin compresión en absoluto o usar GZIP, BZ2 y LZMA.

¿Cuál es el módulo de tarfil en Python??

No necesitamos instalar el módulo Tarfile explícitamente porque es parte de la biblioteca estándar de Python; Todo lo que necesitamos hacer es "importarlo". La lectura y la escritura de los archivos de alquitrán se pueden hacer mucho más simples de lo que debe ser mediante los métodos proporcionados por el módulo Python "Tarfile". El módulo "Tarfile" incorporado en Python proporciona una interfaz poderosa para escribir y leer archivos de alquitrán.

Modos de archivo para abrir los archivos de python tar

Los siguientes son algunos modos de archivo que se pueden usar en Python para abrir una tarfile:

R: Abre un archivo de alquitrán para leer.

R: Abre un archivo de alquitrán y lee una versión sin comprimir de él.

W o W: Habilita la escritura sin comprimir abriendo un archivo de alquitrán.

A o A: Abre un archivo TAR para que los datos puedan agregarse sin compresión.

R: GZ: Abre un archivo de alquitrán comprensivo de GZIP para leer.

W: GZ: Abre un archivo de alquitrán comprensivo de GZIP para escribir.

R: BZ2: Abre un archivo de alquitrán comprimido BZIP2 para leer.

W: BZ2: Abre un archivo de alquitrán comprimido BZIP2 para escribir.

Ahora, usemos el módulo de tarfile para comprender cómo funciona en Python.

Creación de un archivo de alquitrán

El módulo de tarfile en Python nos permite crear archivos de tar. Primero, abra un archivo de alquitrán en modo de escritura. Luego, agregue un paquete de archivos o un solo archivo al archivo TAR.

Ejemplo 1: Crear un archivo TAR utilizando la función Open ()

Aquí, usamos la función Open () para crear un archivo TAR y el método add () para agregar otros archivos al archivo TAR.

Producción

Aquí, la primera entrada al método Open () es el nombre de nuestro archivo TAR que debe crearse, seguido del argumento "W" para abrir el archivo (Tarfile) en modo de escritura. El nombre del archivo que debe agregarse o archivarse al ".El archivo TAR "se pasa dentro del método add () como entrada. Archivamos tres archivos en nuestro archivo TAR usando la función add () en un objeto de archivo

Ejemplo 2: el sistema operativo.Función listDir () para crear y enumerar archivos

El método ListDir () devuelve una lista de archivos y directorios que residen en un directorio especificado. Usando el módulo de tarfil, primero creamos nuestro tarfil. Luego, agregamos los archivos a nuestro archivo TAR usando la función add (). Después de agregar los archivos al archivo TAR, obtenemos una lista de archivos que se han archivado en el ".Archivo de alquitrán "usando el sistema operativo.función listDir (). Para usar esta función, tenemos que importar el módulo OS.

La "carpeta" del archivo de alquitrán se crea archivando todos los archivos almacenados en la carpeta "Datos". La función getNames () devuelve los nombres de archivo que se almacenan en la "carpeta" del archivo TAR ".

Cómo verificar si un archivo es alquitrán o no

Usando el método is_tarfile () en el módulo de tarfile, podemos determinar rápidamente si un archivo tiene el ".Extensión de alquitrán ".

Pasamos el nombre del "my_file.Archivo de tar ”en el módulo IS_TARFILE () para verificar si es un archivo de alquitrán o no. La función devuelve verdadero, lo que significa que el archivo especificado es un archivo de tar. Verifiquemos otro archivo.

Desde "Nota.txt "no es un archivo de tar, la función devuelve falso como salida.

Leer un archivo de alquitrán

La biblioteca de tarfiles puede ayudarlo a leer archivos de alquitrán sin extraerlos primero. La tarta de tarea.Abrir (FilePath, Modo) se puede usar para abrir un archivo de alquitrán en Python. El archivo/ruta es la ubicación absoluta o relativa del archivo que queremos leer. Se pueden usar diferentes tipos de parámetros en lugar del modo.

También podemos leer el archivo abierto en modo de compresa. Un método de compresión se puede combinar opcionalmente con el modo de operación. Por lo tanto, el modo [: compresión] se convierte en la nueva sintaxis. Las abreviaturas que respaldan los métodos de compresión son las siguientes:

  • Gz para Gzip
  • xz para lzma
  • BZ2 para BZ2

En el código anterior, primero abrimos un archivo de alquitrán comprimido BZ2 para escribir. Luego, abrimos el archivo de alquitrán comprimido BZ2 para leer.

Verificar el contenido del archivo TAR

Usando la función getNames () del módulo tarfile, podemos ver el contenido de un archivo de alquitrán sin extraerlos. La lista de nombres de archivos se devuelve mediante la función getNames () del módulo tarfile. Aquí, abrimos el archivo en modo "Leer" para que "R" se especifique como el segundo argumento en la función Open ().

Opn un "proyecto.Archivo de alquitrán "en modo de lectura. La función getNames () devuelve los nombres de los archivos que se archivan en el "proyecto.archivo de alquitrán ". Para imprimir los nombres de contenido/archivo, For-Loop se usa para iterar a través de los archivos en el archivo TAR.

Agregar archivos al archivo TAR

Usando la función add () desde el módulo tarfile, podemos agregar directamente los archivos a un archivo de tar, tal como lo hicimos cuando creamos el archivo TAR. A diferencia de los ejemplos anteriores, "A" se pasa al método Open () como el segundo argumento porque el archivo debe abrirse en modo de anexo.

Usamos el modo de anexo para abrir el "proyecto.archivo de alquitrán ". Cinco archivos ya están presentes en el "Paoject.archivo de alquitrán ". Agregamos tres archivos más usando la función add () en el objeto de archivo.

Extraer un archivo específico de un archivo de archivo de alquitrán

La función extractFile () de la biblioteca de tarfile se puede usar para extraer un archivo de una carpeta archivada. Este método acepta el nombre del archivo como entrada y extrae el archivo especificado en nuestro directorio de trabajo. Si desea extraer más de un archivo, debe llamar al ExtractFile () varias veces. Al extraer un miembro como un objeto de archivo del archivo, un miembro podría ser un objeto Tarinfo o un nombre de archivo. Un "io.El objeto BufferedReader "devuelve si un miembro es un archivo normal o un enlace. Ninguno se presenta para todos los demás miembros existentes/actuales. El KeyError se plantea si un miembro está ausente en el archivo de archivo.

Los libros.El archivo XML "se extrae del" proyecto.archivo de alquitrán ".

Extraer todos los archivos del archivo TAR

La función extractall () de la biblioteca de tarfiles se puede usar para extraer todo el archivo con zonas con zurras en lugar de solo un archivo en particular. La imagen que sigue muestra el directorio antes de extraer los archivos del archivo archivado.

Todo el contenido del archivo TAR se extrae en la carpeta en nuestro directorio actual, los "datos", mediante el método Extractall (). Ahora, extraemos los archivos del archivo archivado a esta carpeta.

Producción

La función extrajo con éxito todos los archivos a la carpeta especificada.

Conclusión

En este artículo, aprendimos qué son los archivos TAR o los archivos de alquitrán y cómo usar el módulo de tarfile de Python para crear, acceder y administrar los archivos de TAR. Aprendimos los modos de archivo que podemos usar para abrir los archivos TAR en modos de lectura, escritura y compresión. Explicamos los métodos para enumerar los archivos después de archivarlos en alquitrán. Discutimos cómo agregar los archivos en el archivo TAR. Además, aprendimos cómo se puede extraer un archivo específico o todos los archivos en el directorio actual.