Lavorare con i file
Spesso durante l’esecuzione di un programma è necessario utilizzare dei file sia per leggere che per scrivere dati. Questi dati potrebbero essere dei valori da leggere e poi elaborare. Infine i risultati delle nostre elaborazioni spesso invece di visualizzarli su terminale, è molto più utile salvarli all’interno di un file.
Quindi la gestione dei file, sia in lettura che in scrittura è un’attività molto importante nella programmazione in Python. Vediamo come effettuare le operazioni più comuni.
Aprire un file
I file di testo sono i più semplici da utilizzare. Però prima di poter leggere o scrivere i dati all’interno di un file, questo deve essere aperto. Questo in Python è possibile utilizzando la funzione open().
myfile = open("filename.txt")
Nella riga sopra abbiamo scritto solo in nome del file, ma in realtà questo è valido solo se il file si trova nella directory corrente di Python. Infatti l’argomento di open() non è il nome del file, bensì il path riferito sempre alla working directory.
myfile = open("path/filename.txt")
In realtà, spesso si specifica un secondo argomento nella funzione open() che specifica la modalità di uso del file. Questa si definisce aggiungendo uno o più caratteri in sequenza.
- w – in scrittura (wrtiting)
- r – in lettura (reading)
- a – in append (aggiunge in fondo al programma)
- b – file binario
Per esempio se vogliamo aprire un file in sola lettura e testuale
myfile = open("path/filename.txt","r")
Nota: r è la modalità di default, quindi può anche essere omessa
myfile = open("path/filename.txt")
oppure se voglio aprire un file binario in scrittura, dobbiamo specificare
myfile = open("path/filename.txt","wb")
Chiudere un file
Altra operazione, spesso dimenticata, è quella di chiudere un file una volta conclusa l’operazione che volevamo effettuare su di esso. Per chiudere un file si utilizza il metodo close() (metodo perchè appartiene all’oggetto file)
myfile.close()
Vai a Lezione 4.7 – Lettura di file ⇒