Ejemplos prácticos de lectura y escritura de archivos
1. Leer el Contenido de un Archivo
1
2
3
4
# Leer todo el contenido de un archivo
with open('ejemplo.txt', 'r') as archivo:
contenido = archivo.read()
print(contenido)
Explicación:
open('ejemplo.txt', 'r')
: Abre el archivoejemplo.txt
en modo de lectura ('r'
).archivo.read()
: Lee todo el contenido del archivo como una sola cadena de texto.print(contenido)
: Imprime el contenido del archivo en la consola.
2. Leer Línea por Línea
1
2
3
4
# Leer un archivo línea por línea
with open('ejemplo.txt', 'r') as archivo:
for linea in archivo:
print(linea.strip()) # .strip() para eliminar caracteres de nueva línea
Explicación:
- Itera sobre el objeto archivo, que lee una línea a la vez.
linea.strip()
: Elimina los caracteres de nueva línea y otros espacios en blanco al principio y al final de la línea.
3. Escribir en un Archivo (Sobrescribir)
1
2
3
4
# Escribir en un archivo, sobrescribiendo el contenido existente
with open('ejemplo.txt', 'w') as archivo:
archivo.write('Este es un nuevo contenido.\n')
archivo.write('Cada llamada a write() añade una nueva línea.')
Explicación:
open('ejemplo.txt', 'w')
: Abre el archivo en modo de escritura ('w'
), lo que sobrescribe cualquier contenido existente.archivo.write()
: Escribe texto en el archivo. Cada llamada awrite()
añade el texto al archivo.
4. Añadir Texto a un Archivo Existente
1
2
3
# Añadir texto a un archivo sin sobrescribir el contenido existente
with open('ejemplo.txt', 'a') as archivo:
archivo.write('\nAñadiendo una nueva línea al final del archivo.')
Explicación:
open('ejemplo.txt', 'a')
: Abre el archivo en modo de añadir ('a'
), lo que agrega contenido al final del archivo sin eliminar el contenido existente.
5. Leer Archivos Binarios
1
2
3
4
# Leer un archivo binario
with open('imagen.png', 'rb') as archivo:
contenido = archivo.read()
print(f'El archivo tiene {len(contenido)} bytes.')
Explicación:
open('imagen.png', 'rb')
: Abre el archivo en modo binario ('rb'
) para leer datos binarios.archivo.read()
: Lee el archivo binario completo en una cadena de bytes.len(contenido)
: Imprime el tamaño del archivo en bytes.
6. Escribir Datos Binarios
1
2
3
4
5
# Escribir datos binarios en un archivo
data = b'\x00\x01\x02\x03\x04\x05' # Datos binarios de ejemplo
with open('archivo_binario.bin', 'wb') as archivo:
archivo.write(data)
Explicación:
open('archivo_binario.bin', 'wb')
: Abre el archivo en modo binario para escritura ('wb'
).archivo.write(data)
: Escribe datos binarios en el archivo.
7. Leer un Archivo en Fragmentos
1
2
3
4
5
6
7
8
9
# Leer un archivo en fragmentos de tamaño fijo
fragmento_tamano = 64 # Tamaño del fragmento en bytes
with open('archivo_grande.txt', 'rb') as archivo:
while True:
fragmento = archivo.read(fragmento_tamano)
if not fragmento:
break
print(fragmento.decode('utf-8')) # Decodifica bytes a texto si es necesario
Explicación:
- Lee el archivo en fragmentos del tamaño especificado.
- El bucle
while
continúa leyendo fragmentos hasta que no haya más datos. fragmento.decode('utf-8')
: Decodifica bytes a texto si el archivo es de texto.
8. Leer y Escribir en un Archivo con Codificación Específica
1
2
3
4
5
6
7
# Leer y escribir en un archivo con una codificación específica
with open('archivo_utf8.txt', 'w', encoding='utf-8') as archivo:
archivo.write('Texto en UTF-8\n')
with open('archivo_utf8.txt', 'r', encoding='utf-8') as archivo:
contenido = archivo.read()
print(contenido)
Explicación:
encoding='utf-8'
: Especifica la codificación al abrir el archivo para asegurar que los caracteres se manejen correctamente.archivo.write()
: Escribe texto en el archivo utilizando la codificación especificada.archivo.read()
: Lee el archivo y maneja la codificación correctamente.
Estos ejemplos cubren una variedad de casos comunes al trabajar con archivos en Python, desde la lectura y escritura básica hasta el manejo de archivos binarios y codificaciones específicas.
Mi lema es
Esta entrada está licenciada bajo CC BY 4.0 por el autor.