Lettura di un file
Una volta aperto il file in modalità lettura, sarà necessario leggerne il contenuto. Se il file è di tipo testuale, si potrà utilizzare il metodo read().
Per l’esempio di questa sezione, create un file di testo e inseriteci all’interno il testo seguente. Poi salvatelo come prova.txt.
Questo e’ il contenuto
del file di testo.
Poi per leggere il contenuto e stamparlo su terminale, scrivete il codice seguente.
file = open("prova.txt","r")
content = file.read()
print(content)
file.close()
eseguendo il codice si otterrà quanto segue:
>>>
Questo e' il contenuto
del file di testo.
Come abbiamo visto, l’intero contenuto su più righe è stato letto e riportato su output. Però spesso vogliamo leggere solo una particolare riga di questo file. In questo caso il metodo readline() legge una riga per volta. Alla prima chiamata legge la prima riga, alla seconda la seconda riga , e così via.
file = open("prova.txt","r")
content = file.readline()
print(content)
file.close()
Eseguendo si avrà la lettura solo della prima riga.
>>>
Questo e' il contenuto
In questo modo abbiamo più controllo della lettura del file.
E se volessimo fare la scansione di tutte le righe di un file di testo, ed elaborarne una alla volta, iterativamente possiamo usare un ciclo for.
file = open("prova.txt","r")
for line in file:
print(line)
file.close()
Infine è interessante sapere che è possibile creare una lista avente per elementi le singole righe di un file testuale. Si utilizza il metodo readlines() (da non confondere con readline()).
file = open("prova.txt","r")
content = file.readlines()
print(content)
file.close()
Eseguendo si può vedere come content sia una lista di stringhe
>>>
["Questo e' il contenuto\n", 'del file di testo.\n']