lettura facile

Il metodo readlines() in Python

Quando lavoriamo con i file in Python, spesso vogliamo leggere interamente il contenuto del file per lavorarci sopra. In queste situazioni il metodo readlines() viene in nostro aiuto.

readlines()

Questa funzione ti consente di leggere tutte le linee di un file testuale e restituircele come una lista di stringhe, dove ogni stringa rappresenta una linea del file.

Come funziona readlines()

Immagina di avere un file di testo, chiamiamolo "esempio.txt", che contiene alcune frasi, una per linea.

Ecco come potresti utilizzare readlines() per leggere questo file:

with open('esempio.txt', 'r') as file:
    righe = file.readlines()

Ora la variabile "righe" è una lista dove ogni elemento è una linea del file

print(righe)

['Prima linea\n', 'Seconda linea\n', 'Terza linea']

Nota che ogni linea, tranne l'ultima, termina con \n, che è il carattere di "nuova linea a capo" in molti sistemi operativi.

Questo perché readlines() include il carattere di fine linea in ogni stringa della lista.

Perché è utile?

Il metodo readlines() è particolarmente utile quando hai bisogno di lavorare su file linea per linea per analizzare o modificare il contenuto del file.

Ad esempio, per rimuovere il carattere di fine linea \n da ogni riga del file puoi scrivere:

with open('esempio.txt', 'r') as file:
    righe = file.readlines()
    righe_pulite = [riga.strip() for riga in righe]
    print(righe_pulite)

Questo codice rimuove spazi bianchi e caratteri di nuova linea dall'inizio e dalla fine di ogni riga, restituendo una lista più pulita.

['Prima linea', 'Seconda linea', 'Terza linea']

Tuttavia, ricorda che il metodo readlines() legge tutto il file nella memoria del computer.

Quindi, potrebbe non essere la scelta migliore per file molto grandi.

Se devi lavorare con file di grandi dimensioni, potresti considerare di leggere il file linea per linea con un ciclo for, che è più efficiente in termini di memoria:

Ad esempio, questo codice fa la stessa cosa ma legge una riga alla volta e ti permette di lavorarci sopra senza occupare troppa memoria.

with open('esempio.txt', 'r') as file:
    for riga in file:
       print(riga.strip())

['Prima linea', 'Seconda linea', 'Terza linea']

In conclusione, il metodo readlines() è uno strumento molto potente per la lettura di file testuali di dimensioni moderate, in particolar modo se vuoi lavorare con il contenuto del file come una lista di linee.

Ricorda solo di considerare l'efficienza della memoria quando lavori con file molto grandi.

 




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




FacebookTwitterLinkedinLinkedin