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.


Descubre más desde CIBERED

Suscríbete y recibe las últimas entradas en tu correo electrónico.

Deja un comentario