È uscito il Corso Java Completo — usa il coupon JAVA2026 (fino al 30 giugno)
Torna al blog

Come automatizzare task con Python

Automatizzare con Python: esempi reali per gestire file, inviare email, fare scraping e schedulare script con cron e schedule. Le librerie utili per iniziare oggi.

Edoardo Midali

Edoardo Midali

Developer · Content Creator

4 min di lettura

I tool no-code sono comodi, ma quando vuoi controllo totale e flessibilità infinita, scrivere uno script è imbattibile. Python è il linguaggio perfetto per questo: semplice da leggere, pieno di librerie pronte e ideale per i compiti ripetitivi. In questo articolo ti spiego come automatizzare task con Python, con esempi reali su file, email, scraping e scheduling.

Cosa significa automatizzare con Python in parole semplici

Automatizzare con Python significa scrivere uno script che esegue al posto tuo un compito ripetitivo — gestire file, mandare email, raccogliere dati dal web — e farlo girare automaticamente, anche a orari prestabiliti. È un piccolo programma che lavora per te.

Il vantaggio rispetto ai tool visuali è il controllo: puoi fare esattamente ciò che vuoi, senza i limiti di una piattaforma. Lo svantaggio è che devi saper scrivere (un po' di) codice. Se preferisci il no-code, vedi i migliori tool di automazione; se invece vuoi imparare a programmare, sei nel posto giusto.

Perché Python per l'automazione

  • Sintassi leggibile: il codice somiglia quasi all'inglese.
  • Librerie per tutto: esiste un modulo pronto per quasi ogni esigenza.
  • Multipiattaforma: lo stesso script gira su Windows, Mac e Linux.
  • Comunità enorme: trovi esempi e risposte per ogni problema.

Esempio 1: gestire file e cartelle

Un classico: riordinare automaticamente una cartella, ad esempio spostando tutti i PDF in una sottocartella. Python ha i moduli os, pathlib e shutil integrati.

from pathlib import Path
import shutil

cartella = Path("Downloads")
destinazione = cartella / "PDF"
destinazione.mkdir(exist_ok=True)

for file in cartella.glob("*.pdf"):
    shutil.move(str(file), destinazione / file.name)
    print(f"Spostato: {file.name}")

Con poche righe hai automatizzato un riordino che ti porterebbe via minuti ogni giorno.

Esempio 2: inviare email

Per inviare email puoi usare il modulo smtplib, integrato in Python. Utile per report automatici o notifiche.

import smtplib
from email.message import EmailMessage

msg = EmailMessage()
msg["Subject"] = "Report automatico"
msg["From"] = "[email protected]"
msg["To"] = "[email protected]"
msg.set_content("Ciao, ecco il report generato automaticamente.")

with smtplib.SMTP_SSL("smtp.gmail.com", 465) as smtp:
    smtp.login("[email protected]", "password_app")
    smtp.send_message(msg)
print("Email inviata!")

Nota: per Gmail e simili devi usare una "password per app" generata dalle impostazioni di sicurezza, non la password normale.

Esempio 3: web scraping

Raccogliere dati da una pagina web è un'automazione frequente. Le librerie requests (per scaricare) e BeautifulSoup (per analizzare l'HTML) sono lo standard. Si installano con pip:

pip install requests beautifulsoup4
import requests
from bs4 import BeautifulSoup

url = "https://example.com"
risposta = requests.get(url)
soup = BeautifulSoup(risposta.text, "html.parser")

for titolo in soup.find_all("h2"):
    print(titolo.get_text(strip=True))

Attenzione: fai scraping solo di siti che lo consentono, rispetta i loro termini e il file robots.txt, e non sovraccaricare i server con richieste troppo frequenti.

Esempio 4: schedulare gli script

Uno script utile va eseguito automaticamente a intervalli. Hai due strade principali.

Dentro Python, con la libreria schedule:

pip install schedule
import schedule
import time

def lavoro():
    print("Eseguo il task...")

schedule.every().day.at("08:00").do(lavoro)

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

Con il sistema operativo (più robusto per la produzione):

  • Su Linux/Mac usi cron. Apri il crontab con crontab -e e aggiungi una riga come questa, che esegue lo script ogni giorno alle 8:
0 8 * * * /usr/bin/python3 /percorso/script.py
  • Su Windows usi l'Utilità di pianificazione (Task Scheduler), che fa la stessa cosa con un'interfaccia grafica.

La regola pratica: per task che devono girare anche a computer spento o in modo molto affidabile, affidati a cron/Task Scheduler; schedule va benissimo per script che restano in esecuzione.

Librerie utili da conoscere

EsigenzaLibreria
File e percorsipathlib, os, shutil
Fogli Excelopenpyxl, pandas
Richieste webrequests, httpx
Scraping HTMLBeautifulSoup, lxml
Browser automationplaywright, selenium
Schedulingschedule, APScheduler
Emailsmtplib, imaplib

Python e AI

Python è anche il linguaggio principe per l'automazione intelligente: integrare un modello AI in uno script per classificare, riassumere o rispondere è semplicissimo. Vedi automatizzare il lavoro con l'AI e come creare un agente AI.

In sintesi

Automatizzare con Python significa scrivere script che svolgono compiti ripetitivi al posto tuo: gestire file con pathlib e shutil, inviare email con smtplib, raccogliere dati dal web con requests e BeautifulSoup, e far girare tutto a orari prestabiliti con la libreria schedule o con cron/Task Scheduler. Rispetto ai tool no-code, Python dà controllo e flessibilità totali, al prezzo di dover scrivere un po' di codice. È una competenza che ripaga ogni volta che ti trovi davanti a un'attività noiosa e ripetibile.

Se vuoi imparare Python partendo da zero e arrivare ad automatizzare il tuo lavoro, dai un'occhiata ai miei corsi.