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()
