Cómo leer archivos binarios en Python

Cómo leer archivos binarios en Python

El archivo que contiene los datos binarios se denomina archivo binario. Cualquier datos binarios formateados o sin formato se almacenan en un archivo binario, y este archivo no es legible por el humano y es utilizado directamente por la computadora. Cuando se requiere un archivo binario para leer o transferir de una ubicación a otra ubicación, el contenido del archivo se convierte o codifica en un formato legible por humanos. La extensión del archivo binario es .papelera. El contenido del archivo binario se puede leer mediante una función o módulo incorporado. Se han mostrado diferentes formas de leer archivos binarios en Python en este tutorial.

Requisito previo:

Antes de verificar los ejemplos de este tutorial, es mejor crear uno o más archivos binarios para usar en el script de ejemplo. El script de dos archivos de Python ha dado a continuación para crear dos archivos binarios. El binario1.Py creará un archivo binario llamado cadena.papelera que contendrán datos de cadena y el Binary2.Py creará un archivo binario llamado número_list.papelera que contendrá una lista de datos numéricos.

Binario.py

# Abra un controlador de archivos para crear un archivo binario
file_handler = abre ("cadena.bin "," wb ")
# Agregue dos líneas de texto en el archivo binario
file_handler.Escribir (B "Bienvenido a Linuxhint.\ nlearn Python Programming.")
# Cierre el controlador de archivos
file_handler.cerca()

Binario.py

# Abra un controlador de archivos para crear un archivo binario
archivo = open ("number_list.bin "," wb ")
# Declarar una lista de valores numéricos
Números = [10,30,45,60,70,85,99]
# Convierta la lista en matriz
barra = bytearray (números)
# Escribir una matriz en el archivo
archivo.escribir (barra)
archivo.cerca()

Ejemplo-1: lea el archivo binario de los datos de cadena en la matriz de bytes

Existen muchas maneras en Python para leer el archivo binario. Puede leer el número particular de bytes o el contenido completo del archivo binario a la vez. Crear un archivo de Python con el siguiente script. El Función Open () ha solido abrir el cadena.papelera para leer. El Función Read () se ha utilizado para leer 7 caracteres del archivo en cada iteración de while loop e imprime. A continuación, el Función Read () se ha utilizado sin ningún argumento para leer el contenido completo del archivo binario que se imprimirá más tarde.

# Abra el archivo binario para leer
file_handler = abre ("cadena.bin "," rb ")
# Lea los primeros tres bytes del archivo binario
data_byte = file_handler.Leer (7)
Imprimir ("Imprima tres caracteres en cada iteración:")
# Iterer el bucle para leer la parte restante del archivo
mientras data_byte:
imprimir (data_byte)
data_byte = file_handler.Leer (7)
# Lea todo el archivo como una sola cadena de byte
con cadena abierta ('.bin ',' rb ') como FH:
contenido = FH.leer()
Imprima ("Imprima el contenido completo del archivo binario:")
Imprimir (contenido)

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Ejemplo-2: lea el archivo binario de los datos de cadena en la matriz

Cree un archivo de Python con el siguiente script para leer un archivo binario llamado número_list.papelera creado anteriormente. Este archivo binario contiene una lista de datos numéricos. Como el ejemplo anterior, el Función Open () ha utilizado abrir el archivo binario para leer en el script. A continuación, los primeros 5 números se leerán desde el archivo binario y se convertirán en una lista antes de imprimir.

# Abra el archivo binario para leer
archivo = open ("number_list.bin "," rb ")
# Lea los primeros cinco números en una lista
número = list (archivo.leer (5))
# Imprima la lista
Imprimir (número)
# Cierre el archivo
archivo.cerca()

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. El archivo binario contiene 7 números, y los primeros cinco números se han imprimido en la salida.

Ejemplo-3: Lea el archivo binario usando Numpy

Las formas de crear el archivo binario utilizando el Matriz numpy y lea el contenido del archivo binario que usa en una lista utilizando el Módulo numpy he mostrado en esta parte del tutorial. Antes de verificar el script que se da a continuación, debe instalar el Módulo numpy ejecutando el comando desde el terminal o instalando el Paquete numpy En el editor de Python, donde se ejecutará el script. El función tofile () se usa para crear un texto o archivo binario, y el desde la función de FROFILE () se usa para crear una matriz leyendo un texto o archivo binario.

Sintaxis de tofile ():

ndarray.tofile (archivo, sep = ", format = '%s')

El primer argumento es obligatorio y toma el nombre de archivo o cadena o ruta como un valor. El archivo se creará si se proporciona un nombre de archivo en este argumento. El segundo argumento es opcional que se utiliza para separar los elementos de la matriz. El tercer argumento también es opcional y se usa para formatear la salida del archivo de texto.

Sintaxis de fomfile ():

numpy.fromFile (archivo, dtype = float, count =- 1, sep = ", offset = 0, *, me gusta = ninguno)

El primer argumento es obligatorio y toma el nombre de archivo o cadena o ruta como un valor. El contenido del archivo se leerá si se proporcionará un nombre de archivo en este argumento. El dtype Define el tipo de datos de la matriz devuelta. El recuento se usa para contar el número de elementos. El propósito de sep es separar el texto o los elementos de la matriz. El desplazamiento se usa para definir la posición actual del archivo. El último argumento se usa para crear un objeto de matriz que no sea un Matriz numpy.

Cree un archivo de Python con el siguiente script para crear un archivo binario usando Matriz numpy e lea e imprima el contenido del archivo binario.

# Importar módulo Numpy
importar numpy como np
# Declarar una matriz numpy
nParray = np.Array ([34, 89, 30, 45, 90, 11])
# Crear archivo binario a partir de la matriz Numpy
nparray.tofile ("Lista.papelera")
# Imprimir datos del archivo binario
Imprimir (NP.fromfile ("lista.bin ", dtype = np.int64))

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Conclusión:

Se han mostrado tres formas diferentes de leer el archivo binario en este tutorial utilizando ejemplos simples. El primer ejemplo devolvió el contenido del archivo binario como una matriz de bytes. El segundo ejemplo devolvió el contenido del archivo binario como una lista. El último ejemplo también devolvió el contenido del archivo binario como una lista.