lettura facile

Il metodo readline() di Python

Il metodo readline() in Python ti permette di leggere una linea alla volta da un file, il che è molto utile quando lavori con file di testo, specialmente se sono grandi o se vuoi processare il loro contenuto record per record.

file.readline()

Immagina di avere un file di testo, diciamo `poesia.txt`, che contiene una poesia, con ogni verso su una nuova riga.

Ecco come potresti utilizzare readline per leggere e stampare ogni verso:

with open('poesia.txt', 'r') as file:
    while True:
        # Leggiamo una linea
        linea = file.readline()
        # Se la linea è vuota, significa che siamo alla fine del file
        if not linea:
            break
        # Stampiamo la linea, che include già un carattere di nuova linea alla fine
        print(linea, end='')

Prima di tutto, apri il file tramite la funzione open() in modalità lettura (`'r'`).

Poi usa il metodo readline() per leggere una linea del file. Ogni volta che chiami questo metodo, Python legge la linea successiva del file.

Il comando print(linea, end='') stampa ogni linea senza aggiungere un ulteriore carattere di nuova linea alla fine, perché readline() include il carattere di nuova linea (`\n`) alla fine di ogni linea letta dal file, a meno che la linea non sia l'ultima del file e non sia seguita da una nuova linea.

Quando Python raggiunge la fine del file, il metodo readline() restituisce una stringa vuota (''). Puoi usare questo segnale condizione per interrompere un ciclo che legge il file.

Il ciclo while True: continua all'infinito finché non viene  con il comando break interrotto quando readline() restituisce una linea vuota. 

Infine, è buona norma chiudere il file con il metodo close() una volta terminato il lavoro con il file per liberare le risorse del sistema che erano state allocate.

In questo esempio abbiamo usato un gestore contestuale  (with open(...) as file:) che si occupa di aprire il file e di chiuderlo automaticamente alla fine del blocco indentato. Quindi, non è necessario includere anche il metodo close()




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin