8 Métodos de usar la función open() en Python

La función integrada open() es todo lo que necesitas para manejar archivos en Python, desde una simple lectura hasta el control detallado del buffering y la codificación.

A continuación verás 8 usos prácticos y esenciales, con ejemplos claros para cualquier nivel.

1. Abrir y leer un archivo

f = open("archivo.txt")
texto = f.read()
f.close()

Siempre recuerda cerrar el archivo con close() para liberar recursos.

2. Leer un archivo de forma segura con with

with open("archivo.txt") as f:
    texto = f.read()
# El archivo se cierra automáticamente al salir del bloque

El uso del contexto with es la forma más segura y recomendada de trabajar con archivos.

3. Copiar un archivo (lectura y escritura con modo específico)

with open("origen.jpg", "rb") as src, open("copia.jpg", "wb") as dst:
    buffer = src.read()
    dst.write(buffer)

Modos comunes:

  • "r" → leer
  • "w" → escribir (sobrescribe)
  • "x" → crear (falla si ya existe)
  • "a" → añadir al final
  • "b" → binario
  • "t" → texto
  • "+" → lectura y escritura

4. Crear un archivo nuevo de forma segura ("x")

with open("nuevo.txt", "x") as f:
    f.write("Hola mundo")

El modo "x" lanza una excepción si el archivo ya existe — perfecto para evitar sobrescrituras accidentales.

5. Añadir texto a un archivo de registro (log)

log = open("registro.log", "a")
log.write("Nueva entrada de logn")
log.close()

Para proyectos más grandes, considera usar el módulo logging de Python.

6. Controlar el buffering (escritura en tiempo real)

logfile = open("registro.log", "w", 1)  # Buffer de línea: se actualiza tras cada salto de línea

Esto resulta útil cuando necesitas que un archivo se actualice en tiempo real (por ejemplo, registros en servidores o procesos largos).

7. Especificar la codificación (encoding)

with open("texto_utf16.txt", encoding="utf-16") as f:
    texto = f.read()

Por defecto, Python usa UTF-8, pero indicar la codificación explícitamente mejora la compatibilidad entre sistemas.

8. Manejar errores de codificación con errors

f = open("raro.txt", errors="ignore")           # Ignora caracteres inválidos
f = open("raro.txt", errors="replace")          # Sustituye errores con “?”
f = open("raro.txt", errors="backslashreplace") # Muestra los escapes Unicode

Estos parámetros te permiten limpiar archivos corruptos o mal codificados sin que tu programa se detenga.

Buenas prácticas generales

  • Usa with open(...) siempre que sea posible.
  • Cierra los archivos manualmente si usas open() sin contexto.
  • Especifica el encoding cuando trabajes con texto internacional.
  • Usa modos binarios ("rb", "wb") para archivos no textuales.
Admin

Compartir
Publicado por
Admin
Etiquetas: Python

Entradas recientes

La biografía de Steve Jobs escrita por el biógrafo Walter Isaacson

La biografía más vendida del cofundador de Apple, Steve Jobs; escrita por uno de los…

2 días hace

Cómo la Inteligencia Artificial está Revolucionando los Sistemas de Seguridad en el Hogar

Hubo un tiempo en el que la “seguridad en el hogar” significaba confiar en un…

2 días hace

Elon Musk se asegura una compensación de 1 billón de dólares con Tesla

Elon Musk vuelve a romper todos los esquemas. Los accionistas de Tesla acaban de aprobar…

2 días hace

GTA 6 se retrasa hasta finales de 2026

Los fans de Grand Theft Auto tendrán que esperar un poco más para volver a…

5 días hace

Juego de terror GRATIS este Halloween, sobrevive en Five Nights at Freddy’s Into the Pit

Five Nights at Freddy’s: Into the Pit nos sumerge en un misterioso mundo donde lo…

2 semanas hace

Juego de terror de dibujos animados, Bendy and the Ink Machine GRATIS hasta el 6 de noviembre

Adéntrate en el oscuro y retorcido mundo de Bendy and the Ink Machine, donde los…

2 semanas hace