Las otras herramientas de contextlib en Python
suppress, redirect_stdout, ExitStack y closing.
import io
from contextlib import ExitStack, redirect_stdout, suppress
from pathlib import Path
with suppress(FileNotFoundError):
Path("never-existed.txt").unlink()
print("sigo aquí")
bufer = io.StringIO()
with redirect_stdout(bufer):
print("capturado")
print(bufer.getvalue().strip())
Path("a.txt").write_text("a")
Path("b.txt").write_text("b")
with ExitStack() as pila:
archivos = [pila.enter_context(open(ruta)) for ruta in ("a.txt", "b.txt")]
print([f.read() for f in archivos])
Cómo funciona
suppresses un bloque except vacío pero legible.redirect_stdoutcaptura los prints de código que no es tuyo.ExitStackadministra un número variable de administradores de contexto.
Palabras clave y builtins usados aquí
asforopenprintwith
El intento, en números
- Líneas
- 18
- Caracteres a escribir
- 484
- Tokens
- 139
- Ritmo de tres estrellas
- 110 tpm
Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 76 segundos.
Paso 3 de 4 en Medición e introspección; paso 37 de 41 en Herramientas de dominio.