Datetime y Pathlib: Tiempo y Sistema de Archivos
En este nivel avanzado, dejamos de tratar las fechas como simples textos y las rutas como simples cadenas. Python ofrece herramientas orientadas a objetos para manipular el tiempo y los archivos con total precisión.
1. El Módulo datetime
El manejo de fechas es complejo debido a los años bisiestos y las zonas horarias. El módulo datetime encapsula esta complejidad en objetos fáciles de usar.
datetime.now(): Captura el instante preciso actual.strftime: Permite formatear fechas a texto (ej. "2026-01-08").timedelta: Se utiliza para realizar operaciones matemáticas con fechas (sumar días, restar horas).
2. El Módulo pathlib (Rutas Modernas)
Históricamente, Python usaba os.path (tratando las rutas como texto). pathlib cambió esto al tratar las rutas como objetos.
Ventajas de Pathlib:
- Compatibilidad: Funciona igual en Windows que en Linux/Mac.
- Legibilidad: Puedes usar el operador
/para unir carpetas de forma intuitiva. - Funcionalidad: Un objeto
Pathpuede decirte si el archivo existe, su extensión o crear carpetas de forma automática.
Ejemplo de Uso con Pathlib
Para trabajar con Pathlib, primero importamos la clase: from pathlib import Path. Luego, podemos crear una ruta de forma segura: carpeta = Path("documentos") / "reportes". Para crear la carpeta físicamente si no existe, usamos: carpeta.mkdir(parents=True, exist_ok=True). Finalmente, para obtener la extensión de un archivo usamos el atributo .suffix.
Reto: El Organizador de Log-Files
Imagina que necesitas crear un archivo de registro con el año actual como nombre de carpeta.
Instrucciones:
- Importa
datetimedesde el módulodatetime. - Importa
Pathdesde el módulopathlib. - Obtén la fecha actual usando
datetime.now()y guárdala en la variablehoy. - Crea una variable llamada
nombre_archivoque contenga el año actual como string (usastr(hoy.year)). - Crea un objeto Path llamado
ruta_logque represente la ruta:logs / nombre_archivo. (Usa el operador/).
# Gestiona el tiempo y el sistema: