In questa lezione parleremo del metodo readlines in Python che legge tutto il file di testo e restituisce una lista.

readlines Python – primo esempio

In questo primo esempio leggeremo il nostro file rubrica.txt utilizzando questo readlines, vediamo cosa succede.

Ecco quindi un possibile esempio:


f = open('rubrica.txt', 'r')

text = f.readlines()
print(text)

f.close()

Utilizzando print sulla lista si stamperanno tutti i dati che contiene. Nel nostro caso stamperà: [‘Nome: cristina – Telefono: 3567\n’, ‘Nome: luisa – Telefono: 34789’].

Possiamo notare che ogni elemento contiene anche i caratteri di fine riga, ovvero ‘\n’.

Per poter poi stampare ogni riga singolarmente possiamo utilizzare un’istruzione iterativa. Ma dato che ogni elemento contiene il carattere di fine riga possiamo utilizzare end nella funzione print.

Banner Pubblicitario

Ecco dunque una possibile soluzione:


f = open('rubrica.txt', 'r')

text = f.readlines()

for row in text:
    print(row, end=' ')

f.close()

Eseguendo il codice adesso vedremo i dati stampati in questo modo:

Nome: cristina – Telefono: 3567
Nome: luisa – Telefono: 34789

readlines Python – secondo esempio

Possiamo anche specificare il numero di linee che devono essere lette. Per farlo basta specificare un numero all’interno del metodo readlines().

Facciamo dunque un semplice esempio:


f = open('rubrica.txt', 'r')

text = f.readlines(1)

for row in text:
    print(row, end=' ')

f.close()

Inserendo readlines(1) si stamperà così solo il primo contatto: Nome: cristina – Telefono: 3567

Attenzione, se il numero di byte restituiti è superiore al numero allora non stamperà altre righe.

Banner pubblicitario

Facciamo la prova infatti a sostituire il valore 1 con 2: f.readlines(2), in questo caso non verrà restituita la seconda riga.

Proviamo con un altro file, ad esempio number_random.txt che contiene questi dati:

6
25
100


f = open('number_random.txt', 'r')

text = f.readlines(2)

for row in text:
    print(row, end='')
f.close()

In questo caso si stamperà la prima e la seconda riga:

6

25

Questo perchè il numero di byte restituiti non supera il valore indicato tra parentesi.

In questa lezione abbiamo studiato il metodo readlines di Python e abbiamo sviluppato degli esempi al fine di comprendere meglio come funziona.

Alcuni link utili

Indice tutorial sul linguaggio Python

1 – Introduzione al linguaggio Python

2 – Le variabili

3 – Operatori aritmetici e di assegnazione

4 – Stringhe

5 – Casting

6 – Input e print

7 – Primi esercizi in Python