Python IV: herramientas para programas reales
Archivos, regex, testing propio y organizar código que crece.
14 aulas · 6 horas de práctica · en el navegador, sin instalar nada
Temario
- Buscar patrones con `re` — search, match y findall: cuando `"x" in texto` ya no alcanza para describir lo que buscás.
- Grupos y `sub`: partir y reemplazar — Los paréntesis capturan pedazos del patrón; `sub` los usa para transformar texto sin escribir un parser.
- Archivos: `open` y `with` — Escribir y leer texto en disco, y por qué `with` no es una formalidad.
- Taller — Parser de logs — Un parser que lee un log de disco, lo desarma con regex, anonimiza lo sensible y escribe un reporte — con regex y archivos, nada más.
- JSON: estructuras que viajan — dumps y loads: el viaje de ida y vuelta entre estructuras de Python y texto que cualquier otro programa entiende.
- Una familia de errores propios — Una excepción propia por tipo de problema, todas bajo un mismo techo, para poder atrapar una sola o todas juntas.
- `@dataclass`: menos ceremonia para guardar datos — Un decorador que escribe __init__, __repr__ y __eq__ por vos, y el detalle que hay que saber sobre defaults mutables.
- Taller — Validador de configuración — Un validador que parsea JSON, distingue el tipo exacto de problema con una jerarquía de excepciones propias, y arma un dataclass solo cuando todo cierra.
- `Enum`: un conjunto cerrado de valores — Por qué "pendiente" escrito a mano en diez lugares distintos es una bomba de tiempo, y Enum no.
- `logging`: no es un `print` con fecha — Niveles que se pueden apagar y prender, y un mensaje que sabe qué tan grave es.
- Tu propio mini test-runner — Arrange-act-assert, un helper que lanza en vez de comparar a mano, y un reporte armado con lo que ya tenés.
- Organizar un programa que crece — El patrón `if __name__ == "__main__"`, y un `main(argv, ...)` que se puede probar sin necesitar una terminal.
- Taller — Tu CLI de tareas — El cierre de la carrera: un rastreador de tareas por línea de comandos con estado cerrado, logging, sus propios tests y un dispatcher — todo lo que ya tenés, junto.
- Taller — El verificador de repartos — Un repartidor de cartas que no es de fiar, probado con el mini test-runner de la aula 9 — y la mesa real, mano contra mano, como veredicto.