readlines Python

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: 3567n’, ‘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.

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.

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

Continua la lettura su: https://www.codingcreativo.it/readlines-python/ Autore del post: Coding Creativo Fonte: https://www.codingcreativo.it

Articoli Correlati

readline Python

In questa lezione studieremo il metodo readline di Python necessario per la lettura di un file di testo.

Questo metodo restituisce una riga di caratteri, incluso il carattere di fine riga, ovvero il carattere n.

readline Python – primo esempio

Facciamo un primo esempio su un file rubrica che contiene i seguenti contatti di esempio:

Nome: cristina – Telefono: 3567Nome: coding – Telefono: 34789

Apriamo il file utilizzando la funzione open, specificando la modalità di lettura (r). Dopo applicahiamo il metodo readline() di Python e proviamo a stampare il testo letto.

f = open(‘rubrica.txt’, ‘r’)
testo = f.readline()
print(testo)
f.close()

Il seguente codice stamperà solo la prima riga: Nome: cristina – Telefono: 3567.

Come possiamo notare l’esecuzione di readline() produce la lettura fino al carattere di fine riga, ovvero n.

In definitiva questo metodo utilizza un cursore che rappresenta un indice numerico che parte da 0 e che si incrementa di 1 ad ogni carattere letto.

Se provassimo ad eseguire nuovamente readline() leggeremo la seconda riga, in quanto l’indice è stato incrementato.

f = open(‘rubrica.txt’, ‘r’)
testo = f.readline()
print(testo)
testo = f.readline()
print(testo)
f.close()

Ma chiaramente questo codice per la lettura di un file di testo non è l’ideale. Proviamo ad utilizzare un ciclo.

readline Python – secondo esempio

Ragioniamo sul fatto che arresteremo la lettura quando incontreremo la stringa nulla, in quanto rappresenta la fine del file.

Implementiamo dunque una possibile soluzione:

f = open(‘rubrica.txt’, ‘r’)
testo = f.readline()

while testo != “”:
print(testo)
testo = f.readline()

f.close()

Notiamo che ciascun contatto della rubrica occuperà due righe in quanto la funzione print aggiunge un ulteriore carattere di fine riga.

Per evitare questo problema potremmo utilizzare la funzione print con il parametro end, in questo modo:

print(testo, end = ” “)

in alternativa si può utilizzare il metodo rstrip().

Ciclo for in

Un’alternativa all’utilizzo di readline in Python per poter leggere un file è il ciclo for in.

Vediamo un semplice esempio:

f = open(‘rubrica.txt’, ‘r’)

for testo in f:
print(testo.rstrip())

f.close()

In definitiva stiamo trattando il file come se fosse semplicemente un elenco di stringhe.

Conclusioni

In questa lezione abbiamo studiato il metodo readline di Python per leggere i dati da un file di testo. Abbiamo anche visto che non è l’unico modo per poter leggere un file di testo.

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

Vuoi rimanere aggiornato sulle nuove tecnologie per la Didattica e ricevere suggerimenti per attività da fare in classe?

Sei un docente?

soloscuola.it la prima piattaforma
No Profit gestita dai

Volontari Per la Didattica
per il mondo della Scuola. 

 

Tutti i servizi sono gratuiti. 

Associazione di Volontariato Koinokalo Aps

Ente del Terzo Settore iscritta dal 2014
Tutte le attività sono finanziate con il 5X1000