Aprende a leer y escribir archivos de texto y binarios en Python. Modos de apertura, métodos read/write y un ejemplo práctico con archivos BMP.
Trabajar con archivos en Python

Python y el trabajo con archivos

Python ofrece funciones sencillas para trabajar con archivos. Los archivos se abren con open(), se usa y se cierra con close(). Según el modo de apertura, podemos leer, escribir o añadir contenido.

Cómo ejecutar el script

Guarda el código en un archivo .py (por ejemplo archivos.py) y ejecútalo desde la terminal:

python archivos.py

Archivos de texto

Para escribir (sobrescribiendo el contenido anterior):

f = open("demofile.txt", "w")
f.write("¡He borrado el contenido anterior!")
f.close()

Para añadir al final del archivo:

f = open("demofile.txt", "a")
f.write("\nAhora el archivo tiene más contenido.")
f.close()

Para leer todo el contenido:

f = open("demofile.txt", "r")
print(f.read())
f.close()

Modos de apertura

w = escribir (borra lo anterior). a = añadir. r = leer. En binario se añade b: wb, rb, rb+.

Archivos binarios

Para escribir y leer bytes:

cadena_de_bytes = b"borro el contenido"
f = open("demofile.dat", "wb")
f.write(cadena_de_bytes)
f.close()

f = open("demofile.dat", "rb")
cadena_de_bytes = f.read()
f.close()
print(cadena_de_bytes)

Navegar por el archivo con seek

El método seek(n) mueve el puntero a la posición n. Útil para leer o modificar bytes concretos, por ejemplo en una imagen BMP (cabecera de 54 bytes + paleta de 1024 bytes).

f = open("mario.bmp", "rb+")
f.seek(1080)  # Primer byte de datos de píxel
byte_leido = f.read(1)
f.close()