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: 3567
Nome: 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

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

Articoli Correlati

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: 3567Nome: 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:

625100

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

open in Python

In questa lezione studieremo il metodo open in Python, ovvero vedremo come aprire un file di testo o binario.

Nella precedente lezione abbiamo parlato di file e abbiamo visto la differenza tra file binari e di testo (o ASCII). Nei nostri esempi saranno usati principalmente file di testo per memorizzare archivi sia con lunghezza fissa sia con lunghezza variabile.

Dunque, per operare su un file in linguaggio Python dobbiamo eseguire queste semplici fasi:

innanzitutto aprire il file specificando: nome, estensione (obbligatori) e tipo di accesso (se in scrittura, lettura, in modalità append per aggiungere contenuto ad un file esistente, in lettura e scrittura. Dato opzionale in quanto ha un valore di default che è in lettura). Oltre a questi valori ci sono altri argomenti che si possono indicare e che vedremo a mano a mano nel tutorial;dopo fare le operazioni sul file;infine chiudere il file.

Se il file non si trova nella stessa cartella del file Python occorre specificare il percorso corretto. Se siete alle prime armi vi consiglio di lasciare il file nella stessa cartella del file di Python.

Open in Python

I flussi vengono descritti tramite le classi, ovvero un elenco di proprietà e metodi collegati tra loro. Una volta dichiarata una variabile di tipo oggetto si dispone di tutte le proprietà e metodi collegati ad esso.

Uno dei metodi che vi voglio presentare è proprio open in Python che ci permette di aprire un file.

Vediamolo in dettaglio, supponendo di voler aprire un file di nome coding.txt che si trova nella stessa cartella del nostro file Python.

f=open(‘coding.txt‘,’r’) # Apertura in input

Consente di aprire il file solo per la lettura dei caratteri. Ma attenzione, se il file non esiste ci restituirà un errore!

Puntualizziamo però che la sintassi completa sarebbe questa:

f = open(‘coding.txt’, mode = ‘r’)

Ma possiamo anche omettere mode.

Da notare cha abbiamo dichiarato una variabile f di tipo oggetto sulla quale poi applicheremo i vari metodi.

Facciamo adesso un altro semplice esempio:

f = open(‘coding.txt’,’w’) # Apertura in output

Si apre il file e si consente la scrittura su di esso. Ma attenzione, se il file esiste viene cancellato e ricreato!

Vediamo in dettaglio le varie modalità di apertura di un file.

Modalità di apertura di un file in Python

Approfondiamo il metodo open in Python studiando in dettaglio le varie modalità di accesso.

Di seguito ecco una tabella esplicativa dei tipi di accesso ad un file in Python.

ModalitàEsempioUtilizzoropen(‘coding.txt’,’r’)Valore di default. Crea il file e lo apre in sola lettura. Se il file esiste non esiste viene restituito un messaggio di errore.wopen(‘coding.txt’,’w’)Crea il file e lo apre in sola scrittura. Se il file esiste viene cancellato.aopen(‘coding.txt’,’a’)Apre in file in modalità append, ovvero consente di aggiungere testo in un file già esistente. Se il file non esiste lo crea.+open(‘coding.txt’,’r+’)Apre il file in modalità lettura e scrittura in modalità append. Se il file non esiste restituisce errore.xopen(‘coding.txt’,’x’)Crea il file, se già il file esiste restituisce errore.topen(‘coding.txt’,’t’)Apre un file in modalità testo.bopen(‘coding.jpg’,’b’)Apre un file in modalità binaria. Ad esempio per le immagini.

Facciamo adesso un esempio combiando più opzioni di quelle elencate nella tabella sopra:

f=open(‘coding.jpg’,’r+b’)

Questa semplicissiam riga di codice consente di aprire un file binario di nome coding.jpg in lettura e scrittura.

In questa lezione abbiamo dunque introdotto il metodo open in Python nella prossima parleremo del metodo write.

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