Lezioni di Python – 4.9 Lavorare con i file

Lezioni di Python - 4.9 Lavorare con i file

Lavorare con i file

Nelle sezioni precedenti abbiamo visto come leggere e scrivere i dati all’interno di un file, ma esistono alcune accortezze da seguire. Abbiamo visto che è importante chiudere sempre il file su cui stiamo lavorando durante l’esecuzione del programma.

Ma se qualcosa va sbagliato? Se si genera un’eccezione non gestita, l’esecuzione del programma si interrompe e il file resta aperto?

Per ovviare a tale problema abbiamo visto nelle prime sezioni di questa parte del corso che cosa sono le eccezioni e come gestirle. Allora è chiaro che per lavorare con i file è necessario utilizzare un costrutto try-except.

Quindi il modo più pulito e sicuro per lavorare con i file è il seguente:

try:
    file = open("prova.txt", "a")
    file.write("Questo è il nuovo testo\n")
finally:
    file.close()

In questo modo comunque vada, saremo sicuri che il file venga chiuso (un buon esempio per capire l’utilità di finally).

Un modo alternativo, meno usato, di lavorare con i file è utilizzando la clausola with. Questo comando permette di creare una variabile temporanea e ad essa fare riferimento all’interno del blocco per eseguire tutti i metodi. Alla fine del costrutto with, la variabile viene distrutta, anche nel caso avvenga una eccezione.

with variabile as f:
blocco with

Nel caso dei file quindi questo costrutto ci potrebbe essere molto utile:

with open("prova.txt","w") as f:
    file.write("Questo è il nuovo testo\n")

⇐ Vai a Lezione 4.8 – Scrivere su file

Vai a Lezione 5.1 – None 

Lascia un commento