Uso de la sentencia with para archivos
Asegúrese de que los archivos se cierren automáticamente mediante gestores de contexto.
Uso de la sentencia with para archivos es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 4 lecciones en total.
Introducción
La sentencia with
# with open('data.txt') as f:
# content = f.read()
# f is now closed
print('with demo')Por qué with es mejor que try/finally
# Equivalent to:
# f = open('file.txt')
# try:
# content = f.read()
# finally:
# f.close()
print('comparison demo')Varios archivos
# with open('in.txt') as src, open('out.txt','w') as dst:
# for line in src:
# dst.write(line.upper())
print('multi-file demo')Protocolo de gestor de contexto
# f.__enter__() opens
# f.__exit__() closes
print('protocol demo')Lectura y procesamiento
lines = [' hello \n', ' world \n']
cleaned = [l.strip() for l in lines if l.strip()]
print(cleaned)Escritura con with
# with open('out.txt', 'w') as f:
# for i in range(10):
# f.write(f'{i}\n')
print('write with demo')Comprobar si existe un archivo
import os
print(os.path.exists('/tmp'))
print(os.path.exists('/nonexistent'))Errores de open()
try:
with open('/nonexistent.txt') as f:
pass
except FileNotFoundError as e:
print('File not found:', e)StringIO para archivos en memoria
from io import StringIO
buf = StringIO('line1\nline2\n')
for line in buf:
print(line.rstrip())Módulo tempfile
import tempfile
with tempfile.NamedTemporaryFile(mode='w', suffix='.txt', delete=True) as f:
f.write('temp data')
print(f.name)Comprobación rápida
Resumen
Siga avanzando
Preguntas frecuentes
¿La lección «Uso de la sentencia with para archivos» es gratis?
Sí — el texto completo de «Uso de la sentencia with para archivos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Uso de la sentencia with para archivos»?
Asegúrese de que los archivos se cierren automáticamente mediante gestores de contexto. Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Python Academy?
No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Uso de la sentencia with para archivos»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Python Academy?
Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Apertura y lectura de archivos
- Escritura y adición en archivos
- Uso de la sentencia with para archivos
- Trabajo con rutas de archivos mediante pathlib