El conocimiento es el nuevo dinero.
Aprender es la nueva manera en la que inviertes
Acceso Cursos

6 bibliotecas Python para la automatización que parecen mágicas

Todos tenemos esas molestas tareas recurrentes: enviar un recordatorio, ejecutar un script, extraer un informe diario.

· 3 min de lectura
6 bibliotecas Python para la automatización que parecen mágicas

Desde frases ingeniosas hasta flujos de trabajo completos, estas bibliotecas convierten Python en tu asistente personal.

¿Lo mejor de Python? Te permite automatizar las tareas aburridas para que puedas dedicar tu capacidad intelectual a las cosas divertidas.

Pero aquí está el problema: la mayoría de los desarrolladores solo arañan la superficie. Crean un script para renombrar rápidamente un archivo o extraer datos de una página, y ahí se detienen. Mientras tanto, hay un tesoro escondido de bibliotecas que pueden gestionar tu vida en segundo plano, si sabes dónde buscar.

Abramos ese cofre.

Estos proyectos se dividen en tres niveles: principiante, intermedio y avanzado. Cada uno utiliza bibliotecas de Python que parecen casi injustamente potentes, como descubrir un código de trucos para la vida real.

Nivel principiante

Automatizador de tareas diarias con programación

Todos tenemos esas molestas tareas recurrentes: enviar un recordatorio, ejecutar un script, extraer un informe diario. Normalmente, lo harías con tareas cron o el Programador de tareas de Windows. Pero con schedule, es una sola línea.

Pasos:

  1. Instala schedule (pip install schedule).
  2. Escribe tu tarea como una función.
  3. Indica a Python con qué frecuencia ejecutarla.
  4. Deja que se repita indefinidamente en segundo plano.
import schedule, time

def job():
    print("Automated reminder: drink water 💧")

schedule.every().day.at("10:00").do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

De repente, tienes un asistente personal que nunca olvida nada.

Escribir sin usar las manos con PyAutoGUI

PyAutoGUI convierte tu teclado y ratón en juguetes programables. ¿Necesitas rellenar formularios? ¿Iniciar aplicaciones? ¿Mover archivos? Puedes programar tu ordenador como si fuera un bot de videojuego.

import pyautogui

pyautogui.write("Automation feels like magic ✨")
pyautogui.press("enter")

Consejo profesional: Mueva el ratón a la esquina de la pantalla para detenerlo si se sale de control. De lo contrario, su script podría tomar el control como un niño pequeño demasiado entusiasta con el teclado.

Nivel intermedio

Organice automáticamente las descargas con Watchdog

Probablemente, su carpeta de descargas sea una jungla de archivos PDF, ZIP y capturas de pantalla aleatorias. Watchdog le permite ponerla en orden.

Pasos:

  1. Dirige Watchdog a tu carpeta Descargas.
  2. Cuando aparezca un nuevo archivo, comprueba su tipo.
  3. Muévelo a una carpeta debidamente etiquetada.
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
import time, os, shutil

class Handler(FileSystemEventHandler):
    def on_created(self, event):
        if event.is_directory:
            return
        filename = event.src_path
        if filename.endswith(".pdf"):
            shutil.move(filename, "PDFs/")

observer = Observer()
observer.schedule(Handler(), "Downloads", recursive=False)
observer.start()

try:
    while True:
        time.sleep(1)
except KeyboardInterrupt:
    observer.stop()
observer.join()

Ahora tu ordenador se limpia solo.

Automatización de hojas de cálculo con OpenPyXL

Las hojas de cálculo son como las cucarachas del mundo empresarial: están por todas partes y nunca mueren. En lugar de modificarlas manualmente, automatízalas.

Imagina esto: cada lunes, recibes un nuevo informe de Excel en tu bandeja de entrada. En lugar de abrirlo y escribir fórmulas, Python simplemente... lo hace.

from openpyxl import Workbook 
wb = Workbook()
ws = wb.active
ws["A1"] = "Week"
ws["B1"] = "Sales"
ws.append([34, 2100])
ws.append([35, 1850])
wb.save("report.xlsx")

Es como tener Excel en piloto automático.

Nivel avanzado

Rascador web asíncrono con HTTPX

Las solicitudes están bien, hasta que necesitas acceder a 100 API en paralelo. Ahí es donde HTTPX destaca. Añade asincronía, HTTP/2 y agrupación de conexiones, lo que significa que puedes rascar o automatizar API web rápidamente.

import httpx, asyncio

async def fetch(url):
    async with httpx.AsyncClient() as client:
        r = await client.get(url)
        return r.text

urls = ["https://example.com", "https://httpbin.org/get"]

async def main():
    results = await asyncio.gather(*[fetch(u) for u in urls])
    print(results)

asyncio.run(main())

Un script. Docenas de solicitudes. Sin cuellos de botella.

Paneles de control de línea de comandos con Rich

Los scripts de automatización son estupendos, pero si parecen jeroglíficos de hacker, nadie los usará. Introduce Rich, que hace que tus aplicaciones de terminal parezcan herramientas pulidas.

Añade tablas, actualizaciones en directo, barras de progreso y registros, todo ello con un código mínimo.

from rich.console import Console
from rich.table import Table

table = Table(title="Automation Tasks")

table.add_column("Task")
table.add_column("Status")

table.add_row("Move PDFs", "✅")
table.add_row("Send Reminder", "✅")

console = Console()
console.print(table)

De repente, tu script parece menos un truco y más un producto.

Conclusión

La automatización no consiste en escribir scripts sofisticados. Se trata de recuperar tiempo, concentración y cordura.

El truco está en dejar de preguntarte «¿Qué puedo automatizar?» y preguntarte en su lugar «¿Qué es lo que odio repetir?» Esa es tu señal.

Este es mi reto: elige una de estas bibliotecas, elige una tarea molesta de tu semana y automatízala antes del domingo. Sentirás como si hubieras contratado a un pequeño becario invisible.

Porque, al final, la mejor automatización es aquella que olvidas que existe, hasta que te das cuenta de que tu vida funciona mejor.

«No trabajes más duro. Trabaja una vez».

Un mensaje de nuestro fundador

Hola, Mariana aquí. Quería dedicar un momento a darte las gracias por leer hasta el final y por formar parte de esta comunidad.