Comprendere cos’è un’eccezione e come gestirla con i costrutti try, except, else e finally.
Apprendere come leggere, scrivere e manipolare file in Python.
Applicare i concetti a scenari pratici.
La Gestione delle Eccezioni
Quando un programma incontra un errore (ad esempio, una divisione per zero o un file non trovato), Python genera un’eccezione. Se non gestita, l’eccezione causa l’arresto del programma. Grazie alla gestione delle eccezioni, possiamo catturare e gestire gli errori senza interrompere l’esecuzione.
Sintassi di base
try:
# Blocco di codice che potrebbe generare un'eccezione
operazione = 10 / 0
except ZeroDivisionError:
# Blocco eseguito se si verifica l'eccezione specificata
print("Errore: divisione per zero!")
Gestione di eccezioni multiple
try:
numero = int(input("Inserisci un numero: "))
risultato = 10 / numero
except ZeroDivisionError:
print("Errore: Non puoi dividere per zero!")
except ValueError:
print("Errore: Devi inserire un numero valido!")
Uso di else
#Se non ci sono eccezioni
try:
numero = int(input("Inserisci un numero: "))
risultato = 10 / numero
except ZeroDivisionError:
print("Errore: Non puoi dividere per zero!")
except ValueError:
print("Errore: Devi inserire un numero valido!")
else:
print("Il risultato è:", risultato)
Uso di finally
Il blocco finally viene eseguito in ogni caso, indipendentemente dal fatto che si verifichi un’eccezione o meno. È utile per liberare risorse
try:
file = open("testo.txt", "r")
contenuto = file.read()
except FileNotFoundError:
print("Errore: Il file non esiste!")
finally:
file.close() # Il file viene chiuso indipendentemente dall'esito
Creazione di eccezioni personalizzate
def verifica_eta(eta):
if eta < 18:
raise ValueError("Devi avere almeno 18 anni!")
else:
print("Accesso consentito.")
try:
verifica_eta(16)
except ValueError as e:
print(e) # Output: Devi avere almeno 18 anni!
Input e Output su File
Python fornisce strumenti potenti per leggere e scrivere file. Vediamo i concetti principali.
Apertura di un file
Per lavorare con un file, utilizza la funzione open(), che accetta due argomenti principali:
Il nome del file.
La modalità di apertura:
"r": Lettura (default).
"w": Scrittura (sovrascrive il file esistente o ne crea uno nuovo).
Ci sono diversi metodi per leggere il contenuto di un file:
Leggere tutto il contenuto:
with open("testo.txt", "r") as file:
contenuto = file.read()
print(contenuto)
Leggere una riga alla volta:
with open("testo.txt", "r") as file:
for riga in file:
print(riga.strip()) # Rimuove eventuali spazi vuoti o newline
Leggere un numero specifico di caratteri:
with open("testo.txt", "r") as file:
contenuto = file.read(10) # Legge i primi 10 caratteri
print(contenuto)
Scrittura su un file
Utilizza la modalità "w" o "a" per scrivere in un file:
#Scrittura (Write)
with open("testo.txt", "w") as file:
file.write("Ciao, mondo!\n")
#Aggiungere (Append)
with open("testo.txt", "a") as file:
file.write("Aggiunta di una nuova riga.\n")
Gestione dei file con with
Il blocco with è il modo consigliato per gestire i file, perché chiude automaticamente il file dopo l’uso, anche in caso di eccezioni.
with open("testo.txt", "r") as file:
contenuto = file.read()
print(contenuto)
Esercizi pratici
Esercizio 1: Gestione delle eccezioni
Scrivi un programma che chieda all’utente di inserire due numeri e li divida, gestendo eventuali errori.
Esercizio 2: Scrittura e lettura di un file Crea un file, scrivi una lista di nomi e poi leggi il contenuto stampandolo a schermo.
Esercizio 3: Contare parole in un file Scrivi un programma che legga un file e conti quante parole contiene.
Esercizio 4: Creare un file di log Scrivi un programma che registri eventuali errori in un file di log.
Conclusioni e anticipazioni
In questa lezione abbiamo:
Appreso come gestire le eccezioni per prevenire errori nei programmi.
Imparato a leggere e scrivere file utilizzando i metodi principali.
Applicato questi concetti a scenari pratici.
Nella prossima lezione esploreremo la Programmazione Orientata agli Oggetti (OOP), un paradigma essenziale per scrivere codice scalabile e organizzato.
Homepage del Corso Introduttivo
Sei curioso di scoprire il mondo della programmazione? Con il mio corso gratuito di Python potrai infatti scoprire gli aspetti del linguaggio. Ogni lezione è spiegata in modo chiaro e pratico. Inoltre, grazie a esercizi e materiali di supporto, potrai quindi mettere subito in pratica ciò che impari.