Librerías Estándar y Frameworks en Python

11. Librerías Estándar y Frameworks

🧰 1. Librerías Estándar: El Kit del Administrador

Python viene con "baterías incluidas". Estas tres librerías son esenciales para automatizar tareas de sistemas:

  • math (Cálculos): Permite realizar operaciones avanzadas (raíces, logaritmos, redondeos técnicos). Útil para calcular anchos de banda o conversiones de almacenamiento precisas.

  • datetime (Tiempo): Crucial para el timestamping. Un administrador necesita saber exactamente cuándo ocurrió un error. Permite calcular diferencias de tiempo (ej: ¿Cuánto hace que no se hace un backup?).

  • os (Sistema Operativo): Es la librería estrella en SMR. Permite:

    • Listar archivos de una carpeta (os.listdir).

    • Crear o borrar directorios (os.mkdir, os.remove).

    • Saber en qué ruta estamos (os.getcwd).

    • Ejecutar comandos del sistema operativo.

🌐 2. Introducción a Frameworks Web

¿Por qué un técnico de sistemas necesita saber hacer una web? Porque hoy en día la mayoría de los paneles de control y herramientas de monitorización son interfaces web.

  • Flask (El Micro-framework):

    • Es minimalista y muy rápido de aprender.

    • Uso en SMR: Ideal para crear una pequeña "página de estado" que muestre si los servidores de la empresa están encendidos o apagados.

  • Django (El Framework "All-Inclusive"):

    • Es mucho más grande y estructurado. Incluye panel de administración y gestión de usuarios por defecto.

    • Estructura MVT: Como vimos antes, separa los datos (Modelo), la lógica (Vista) y el diseño (Template).

    • Uso en SMR: Ideal para crear una aplicación compleja de gestión de inventario de toda una oficina.


💡 Ejemplo aplicado: Un creador de logs profesional

Un script que usa os para comprobar si existe una carpeta y datetime para marcar el evento:

Python
import os
from datetime import datetime

carpeta = "Backups_SMR"

if not os.path.exists(carpeta):
    os.mkdir(carpeta)
    ahora = datetime.now().strftime("%d/%m/%Y %H:%M:%S")
    print(f"[{ahora}] Carpeta '{carpeta}' creada con éxito.")
else:
    print("La carpeta ya existe.")

🛠️ Actividad práctica

  1. Organizador de Archivos Inteligente (Librería os):

    • Crea un script que liste todos los archivos de tu carpeta de "Descargas" o "Documentos".

    • Para cada archivo, imprime su nombre y su tamaño.

    • Reto extra: Haz que el script cree una carpeta llamada PDFs y mueva allí todos los archivos que terminen en .pdf.

  2. Calculadora de Caducidad (Librería datetime):

    • Pide al usuario la fecha de la última vez que cambió su contraseña (día, mes, año).

    • Haz que el script calcule cuántos días han pasado hasta hoy.

    • Si han pasado más de 90 días, imprime un mensaje de: "ALERTA: Debes renovar tu contraseña".

  3. Tu primer "Dashboard" (Flask):

    • Instala Flask (pip install flask).

    • Crea una aplicación mínima que, al entrar en http://localhost:5000, muestre un encabezado HTML que diga: "Panel de Control del Servidor de [Tu Nombre]".

    • Añade una línea que muestre la hora actual del sistema (usando datetime) cada vez que se refresque la página.