CodeGym /Cursos /Python SELF ES /Trabajando con archivos binarios

Trabajando con archivos binarios

Python SELF ES
Nivel 21 , Lección 4
Disponible

5.1 Datos Binarios

Trabajar con archivos binarios en Python es un poco diferente a trabajar con archivos de texto, ya que los archivos binarios contienen datos en un formato que no está diseñado para ser leído por humanos. En lugar de cadenas de texto, los archivos binarios trabajan con bytes.

Para trabajar con archivos binarios se utiliza la función open() indicando el modo que contenga la letra 'b' (por ejemplo, 'rb' para lectura, 'wb' para escritura y así sucesivamente).

Ejemplos de apertura de archivos binarios:

  • Lectura: 'rb'
  • Escritura: 'wb'
  • Adición: 'ab'
  • Lectura y escritura: 'r+b', 'w+b', 'a+b'

Ejemplo:


file = open('example.bin', 'rb')
content = file.read()
print(content)
file.close()

La variable 'content' contendrá un array de bytes.

Los datos binarios (bytes) son el nivel más bajo y más básico de representación de datos. Cualquier dato puede ser leído como binario.

Esto significa que un archivo de texto siempre se puede leer como binario, pero no todos los archivos binarios se pueden interpretar como texto.

5.2 Lectura de archivos binarios

Lectura del contenido completo del archivo

El método read() lee todo el contenido del archivo en bytes.

Ejemplo:


file = open('example.bin', 'rb')
content = file.read()
print(content)
file.close()

Lectura de una cantidad específica de bytes

El método read(n) lee n bytes del archivo.

Ejemplo:


file = open('example.bin', 'rb')
content = file.read(10)  # Lee los primeros 10 bytes
print(content)
file.close()

Lectura línea por línea

El método readline() lee una línea del archivo. En el caso de archivos binarios, la línea termina con el carácter de nueva línea (\n).

Ejemplo:


file = open('example.bin', 'rb')
line = file.readline()
print(line)
file.close()

Lectura de todas las líneas

El método readlines() lee todas las líneas del archivo y las devuelve en forma de una lista de bytes.

Ejemplo:


file = open('example.bin', 'rb')
lines = file.readlines()
for line in lines:
    print(line)
file.close()

Los métodos para trabajar con cadenas pueden no funcionar correctamente si estás leyendo un archivo que no contiene texto: por ejemplo, un archivo comprimido, una imagen o un video.

5.3 Escritura de datos binarios

El método write() escribe bytes en el archivo. Los datos a escribir deben estar en forma de bytes (bytes).

Lectura y escritura de imágenes

Lectura de una imagen desde un archivo y escritura en otro archivo.


# Lectura de imagen
with open('input_image.jpg', 'rb') as infile:
    image_data = infile.read()
        
# Escritura de imagen
with open('output_image.jpg', 'wb') as outfile:
    outfile.write(image_data)

También se pueden escribir datos de texto:

Ejemplo:


data = b"Hello, World!"
lines = [b"First line.\n", b"Second line.\n", b"Third line.\n"]
        
file = open('example.bin', 'wb')
file.write(data)
file.writelines(lines)
file.close()
1
Опрос
Trabajo con archivos,  21 уровень,  4 лекция
недоступен
Trabajo con archivos
Trabajo con archivos
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION