Herramientas de dominio
41 pasos en 11 series de Python.
La biblioteca estándar haciendo trabajos reales. Expresiones regulares, sockets, HTTP en ambas direcciones, sqlite3, y los formatos que terminas parseando quieras o no: JSON, CSV y sus primos incómodos.
Luego las partes que nadie enseña y todos necesitan. argparse, pathlib y los módulos de archivos comprimidos, bytes, hashlib y secrets, configuración y la eterna miseria de las zonas horarias, y al final las herramientas de medición, timeit, dis e inspect, para cuando necesitas saber qué está haciendo Python en realidad.
Expresiones regulares
- Regex: search y findallLas funciones centrales de re para encontrar patrones de texto.
- Grupos de captura con nombreEtiquetar las partes de una coincidencia para extraer con claridad.
- SustituciónReescribir texto con re.sub, callbacks incluidos.
- Validación con regexUsar fullmatch para comprobar que una cadena entera encaja.
- Flags de regexCambiar cómo coincide un patrón con los flags de re.
Sockets y redes
- Un cliente TCPAbrir un socket y hablarle HTTP crudo a un servidor.
- Un servidor TCPEnlazar un socket y devolver como eco lo que envían los clientes.
- Datagramas UDPMensajería sin conexión con sockets SOCK_DGRAM.
- DNS y búsqueda de direccionesResolver nombres, puertos y direcciones con los ayudantes de socket.
Web
- Peticiones GET con urllibObtener JSON de una API con la biblioteca estándar.
- Peticiones POST con urllibEnviar un cuerpo JSON con urllib, sin bibliotecas de terceros.
- Un servidor HTTP mínimoServir una petición con el manejador base de http.server.
- Parsear URLsDesarmar URLs y armar cadenas de consulta.
Bases de datos
- SQLite básicoCrear, insertar y consultar con el sqlite3 integrado.
- Acceso a filas en SQLiteLeer los resultados de una consulta por nombre de columna.
- Transacciones en SQLiteAgrupar escrituras para que todas se confirmen o todas se reviertan.
Formatos de datos
- Ida y vuelta con JSONSerializar a texto JSON y parsearlo de regreso.
- CSV con diccionariosLeer y escribir filas CSV como dicts.
- El módulo collectionsCounter, defaultdict y deque para los trabajos de todos los días.
- Fechas y horasAritmética y formato con datetime y timedelta.
- Datos binarios con structEmpacar y desempacar registros binarios al estilo de C.
Línea de comandos
- argparseUn parser armado con declaraciones te da ayuda, tipos y errores gratis.
- SubcomandosLos subparsers le dan a un programa varios verbos, cada uno con sus argumentos.
- loggingUn logger por módulo, un nivel y un formato: nunca print para diagnosticar.
- subprocessCorrer un comando, capturar su salida y revisar el código de salida.
Archivos y comprimidos
- pathlib, a fondoGlobs, sufijos, lectura y escritura, todo sin tocar os.path.
- Archivos y árboles temporalesEspacio temporal que se limpia solo, y las operaciones de árboles que conviene conocer.
- Compresión y archivos empaquetadosgzip para un stream, zipfile y tarfile para un paquete.
- Escribir CSVDictWriter toma filas como dicts y escribe el encabezado por ti.
Bytes y secretos
- Hashes y secretosDigests para integridad, hmac para autenticidad, secrets para tokens.
- Codificar bytes como textobase64 cuando los bytes deben sobrevivir un canal de texto; hex cuando los lee un humano.
Configuración y tiempo
- Leer TOML e INItomllib viene en la biblioteca estándar, solo lectura; configparser maneja INI.
- Fechas, horas y zonasSolo datetimes aware: uno naive es un bug esperando su deploy.
- El módulo statisticsMedia, mediana, dispersión y cuantiles sin recurrir a numpy.
Medición e introspección
- Medir códigotimeit lo corre suficientes veces para que signifique algo, en un espacio aislado.
- IntrospecciónPreguntarle a un objeto por sí mismo: firma, docstring, código fuente, miembros.
- Las otras herramientas de contextlibsuppress, redirect_stdout, ExitStack y closing.
- sqlite3, a fondoFábricas de filas, parámetros vinculados y la transacción como administrador de contexto.
Bis
- port_scanner.pyEscanear un host en busca de puertos abiertos de una lista común.
- log_report.pyResumir estados, rutas y bytes de un log de acceso.
- py_log_scanner.pyUn escáner de logs con argparse, logging, regex y una tabla resumen.