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()