Puedes ejecutar cualquier ejemplo de esta guía directamente en nuestra consola interactiva: Abrir consola de Python →
Python intermedio: trabajar con archivos
En esta guía aprenderás a abrir, leer, escribir y cerrar archivos en Python. Es un paso fundamental para trabajar con datos reales, logs, configuraciones y cualquier tipo de información persistente.
Tabla de contenidos
1. Abrir archivos con open()
La función open() permite abrir un archivo para leerlo o escribirlo.
archivo = open("datos.txt", "r") # r = read
contenido = archivo.read()
archivo.close()
print(contenido)
2. Leer archivos
# Leer todo el archivo
with open("datos.txt", "r") as f:
contenido = f.read()
print(contenido)
# Leer línea por línea
with open("datos.txt", "r") as f:
for linea in f:
print(linea)
3. Escribir archivos
# Escribir texto
with open("nuevo.txt", "w") as f:
f.write("Hola desde Iokelu")
# Añadir texto sin borrar lo anterior
with open("nuevo.txt", "a") as f:
f.write("\nNueva línea añadida")
4. Usar with para manejar archivos
La forma recomendada de trabajar con archivos es usando with, porque cierra el archivo automáticamente.
with open("datos.txt", "r") as f:
print(f.read())
5. Ejemplos prácticos
# Guardar nombres en un archivo
with open("nombres.txt", "w") as f:
f.write("Ana\nCarlos\nLuis")
# Leer nombres
with open("nombres.txt", "r") as f:
for nombre in f:
print("Nombre:", nombre.strip())
6. Ejercicios para practicar
- Crea un archivo y escribe tu nombre.
- Crea un archivo y escribe tres líneas.
- Lee un archivo y muestra su contenido.
- Lee un archivo línea por línea.
- Añade texto a un archivo existente.
- Crea un archivo con números y muéstralos.
- Cuenta cuántas líneas tiene un archivo.
- Convierte un archivo a mayúsculas.
- Guarda una lista en un archivo.
- Lee una lista desde un archivo.
# Ejercicio 1
with open("nombre.txt", "w") as f:
f.write("Tu Nombre")
# Ejercicio 2
with open("lineas.txt", "w") as f:
f.write("Uno\nDos\nTres")
# Ejercicio 3
with open("lineas.txt", "r") as f:
print(f.read())
# Ejercicio 4
with open("lineas.txt", "r") as f:
for linea in f:
print(linea)
# Ejercicio 5
with open("lineas.txt", "a") as f:
f.write("\nNueva línea")
# Ejercicio 6
with open("numeros.txt", "w") as f:
f.write("1\n2\n3")
# Ejercicio 7
with open("numeros.txt", "r") as f:
print(len(f.readlines()))
# Ejercicio 8
with open("lineas.txt", "r") as f:
for linea in f:
print(linea.upper())
# Ejercicio 9
lista = ["Ana", "Luis", "Carlos"]
with open("lista.txt", "w") as f:
for x in lista:
f.write(x + "\n")
# Ejercicio 10
with open("lista.txt", "r") as f:
print([x.strip() for x in f])
7. Mini‑proyecto: Registro de usuarios
def registrar_usuario(nombre):
with open("usuarios.txt", "a") as f:
f.write(nombre + "\n")
def mostrar_usuarios():
with open("usuarios.txt", "r") as f:
for usuario in f:
print("Usuario:", usuario.strip())
registrar_usuario("Ana")
registrar_usuario("Carlos")
mostrar_usuarios()
8. Errores comunes
- No cerrar archivos cuando no se usa
with. - Intentar leer un archivo que no existe.
- Confundir modos:
wborra el archivo,aañade. - Leer archivos grandes sin control.
9. Preguntas frecuentes
¿Qué pasa si el archivo no existe?
Python lanza un error FileNotFoundError.
¿Es obligatorio usar with?
No, pero es la forma recomendada.