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.
Artículos Relacionados
Descubre más desde CIBERED
Suscríbete y recibe las últimas entradas en tu correo electrónico.
