Cos’è Python readline?
Python readline() è un metodo che aiuta a leggere una riga completa dal file dato. Ha una newline finale (“\n”) alla fine della stringa restituita.
Si può anche fare uso del parametro size per ottenere una lunghezza specifica della linea. Il parametro dimensione è opzionale e, per impostazione predefinita, verrà restituita l’intera riga.
Il flusso di readline() è ben compreso nello screenshot mostrato qui sotto:
Hai un file demo.txt, e quando readline() viene usata, restituisce la prima riga di demo.txt.
In questo tutorial, imparerai:
- Python File readline
- Caratteristiche di Python readline()
- Sintassi
- Esempio: Leggere la prima riga usando readline()
- Esempio: Uso dell’argomento size in readline()
- IO di base dei file in Python
- Leggere un file riga per riga in Python
- Come leggere tutte le righe di un file in una volta sola?
- Come leggere un file riga per riga usando un ciclo for?
- Come leggere un file riga per riga usando un ciclo while?
Caratteristiche di Python readline()
Qui, sono importanti caratteristiche di Python read line:
- Il metodo readline() di Python legge solo una linea completa dal file dato.
- Aggiunge un newline (“\n”) alla fine della linea.
- Se apri il file in modalità di lettura normale, readline() ti restituirà la stringa.
- Se apri il file in modalità binaria, readline() ti restituirà l’oggetto binario.
- Puoi dare la dimensione come argomento a readline(), e ti restituirà la linea secondo la dimensione data, incluso il newline. Per default, la dimensione è 0, e restituisce l’intera linea.
Sintassi
file.readline(size)
Parametri
size: (opzionale) Qui, potete specificare il numero, un valore intero a readline(). Otterrà la stringa di quella dimensione. Per default, il valore di size è -1, e quindi viene restituita l’intera stringa.
ReturnValue
Il metodo readline() restituisce la riga dal file indicato.
Esempio: Leggere la prima linea usando readline()
Qui capiremo come leggere la linea dal file dato usando il metodo readline(). Qui faremo uso del file demo.txt per leggerne il contenuto.
Il contenuto del file demo.txt è il seguente:
demo.txt
Testing - FirstLineTesting - SecondLineTesting - Third LineTesting - Fourth LineTesting - Fifth Line
I seguenti sono i passi per leggere una riga dal file demo.txt.
Passo 1)
Prima di tutto, aprite il file usando il metodo open(), come mostrato sotto:
myfile = open("demo.txt", "r")
Il metodo open() prende il primo parametro come nome del file, e il secondo parametro è la modalità è mentre si vuole aprire. In questo momento, abbiamo usato “r”, che significa che il file si aprirà in modalità di lettura.
Passo 2)
Utilizza il metodo readline() per leggere la riga dal file demo.txt come mostrato di seguito:
myline = myfile.readline()
Step 3)
La linea letta è memorizzata all’interno di myline. Ora stampiamo la linea per vedere i dettagli:
print(myline)
Step 4)
Una volta terminata la lettura, chiudiamo il file usando il metodo close() come mostrato di seguito:
myfile.close()
L’intero codice è il seguente:
myfile = open("demo.txt", "r")myline = myfile.readline()print(myline)myfile.close()
Output:
Testing - FirstLine
Esempio: Uso dell’argomento size in readline()
Abbiamo visto come leggere l’intera linea dal file dato. Potete anche fare uso del parametro size per ottenere solo la lunghezza richiesta della linea.
L’esempio dato ha il parametro dimensione dato come 10. La prima linea sarà recuperata, e restituirà la linea con caratteri da 0 a 10.
Facciamo uso del file demo.txt usato in precedenza. Salvate il file demo.txt e usate la posizione del file demo.txt nella funzione open().
myfile = open("demo.txt", "r")myline = myfile.readline(10)print(myline)myfile.close()
Output:
Testing -
File IO di base in Python
Il file IO di base in Python per aprire un file in lettura o scrittura è la funzione integrata open(). I due importanti argomenti che vanno nella funzione open() sono il percorso del file, che è una stringa, e la modalità che specifica se il file è destinato alla lettura o alla scrittura. L’argomento mode è una stringa.
Sintassi:
open("file path", "mode")
Sono disponibili le modalità che possono essere usate con il metodo open():
Modalità | Descrizione |
R | Questo aprirà() il file in modalità lettura. |
W | Utilizzando w, è possibile scrivere sul file. |
a | Utilizzando a con open() si aprirà il file in modalità di scrittura, e il contenuto verrà aggiunto alla fine. |
rb | La modalità rb aprirà il file per la lettura di dati binari. |
wb | La modalità wb aprirà il file per la scrittura di dati binari. |
Siccome abbiamo bisogno del file per la lettura, faremo uso della modalità di lettura (r).
Leggere un file riga per riga in Python
Il metodo readline() aiuta a leggere solo una riga alla volta, e restituisce la prima riga del file dato.
Qui faremo uso di readline() per leggere tutte le linee dal file dato. Il file che verrà letto è demo.txt. Il contenuto del file è:
Salvare il file demo.txt e usare la posizione di demo.txt nella funzione open().
Testing - FirstLineTesting - SecondLineTesting - Third LineTesting - Fourth LineTesting - Fifth Line
Utilizzando readline() dentro while-loop si occuperà di leggere tutte le righe presenti nel file demo.txt.
myfile = open("demo.txt", "r")myline = myfile.readline()while myline: print(myline) myline = myfile.readline()myfile.close()
Output:
Testing - FirstLineTesting - SecondLineTesting - Third LineTesting - Fourth LineTesting - Fifth Line
Come leggere tutte le righe di un file in una volta sola?
Per leggere tutte le righe di un dato file, è possibile utilizzare la funzione readlines() di Python. La specialità della funzione readlines() di Python è quella di leggere tutti i contenuti del file dato e salvare l’output in una lista.
La funzione readlines() legge fino alla fine del file, facendo uso della funzione readline() internamente e restituisce una lista con tutte le righe lette dal file.
Ecco un esempio funzionante per leggere tutte le righe dal file usando readlines().
Il file che useremo per leggere è test.txt. Il contenuto del file test.txt è il seguente:
test.txt: Salva il file test.txt e usa la posizione di test.txt all’interno della funzione open().
Line No 1Line No 2Line No 3Line No 4Line No 5
myfile = open("test.txt", "r")mylist = myfile.readlines()print(mylist)myfile.close()
Output:
Come leggere un file linea per linea usando il ciclo for?
Seguono i passi per leggere linea per linea da un dato file usando il ciclo for:
Step1 :
Primo, apri il file usando la funzione open() di Python in modalità lettura.
Step 2:
La funzione open() restituirà un gestore di file. Usate il gestore di file all’interno del vostro ciclo for e leggete tutte le linee del file dato, linea per linea.
Step 3:
Una volta fatto, chiudete il gestore di file usando la funzione close().
Ecco un esempio funzionante di utilizzo di for-loop per leggere riga per riga da un dato file. Il file che useremo qui è test.txt.
Il contenuto di test.txt è quello mostrato qui sotto. Salvate il file test.txt e usate la posizione di test.txt all’interno di una funzione open().
Line No 1Line No 2Line No 3Line No 4Line No 5
myfile = open("test.txt", "r")for line in myfile: print(line)myfile.close()
Output:
Line No 1Line No 2Line No 3Line No 4Line No 5
Come leggere un file riga per riga usando un ciclo while?
Potete usare un ciclo while e leggere il contenuto del file dato riga per riga. Per farlo, prima aprite il file in modalità di lettura usando la funzione open(). Il gestore del file restituito da open(), usatelo all’interno di while -loop per leggere le righe.
La funzione Python readline() è usata all’interno di while-loop per leggere le righe. Nel caso del ciclo for, il ciclo termina quando si incontra la fine del file. Ma lo stesso non è il caso di un while-loop, ed è necessario mantenere un controllo per vedere se il file ha finito di essere letto. Così, una volta che la funzione readline() restituisce una stringa vuota, si può fare uso dell’istruzione break per terminare il ciclo while.
Ecco un esempio funzionante per leggere un file riga per riga usando un ciclo while.
Il file che useremo è test.txt. Salvate il file test.txt e usate la posizione di test.txt nella funzione open().
Line No 1Line No 2Line No 3Line No 4Line No 5
myfile = open("test.txt", "r")while myfile: line = myfile.readline() print(line) if line == "": breakmyfile.close()
Output:
Line No 1Line No 2Line No 3Line No 4Line No 5
Sommario
- Python readline() è un metodo che aiuta a leggere una linea completa dal file dato. Ha una newline finale (“\n”) alla fine della stringa restituita.
- Si può anche fare uso del parametro size per ottenere una lunghezza specifica della linea. Il parametro size è opzionale, e per default, verrà restituita l’intera linea.
- Il metodo readline() aiuta a leggere solo una linea alla volta, e restituisce la prima linea dal file dato. Faremo uso di readline() per leggere tutte le righe dal file dato.
- Per leggere tutte le righe da un file dato, potete fare uso della funzione readlines() di Python. La specialità della funzione Python readlines() è che legge tutto il contenuto del file dato e salva l’output in una lista.
- La funzione readlines() legge fino alla fine del file facendo uso della funzione readline() internamente e restituisce una lista che ha tutte le linee lette dal file.
- È possibile leggere un file linea per linea usando il ciclo for. Per farlo, prima aprite il file usando la funzione open() di Python in modalità lettura. La funzione open() restituirà un gestore di file. Usate il gestore di file all’interno del vostro ciclo for e leggete tutte le linee del file dato, linea per linea. Una volta fatto, chiudete il gestore del file usando la funzione close().
- Potete fare uso di un ciclo while e leggere il contenuto del file dato riga per riga. Per farlo, prima aprite il file in modalità di lettura usando la funzione open(). Il gestore del file restituito da open(), usatelo all’interno di while -loop per leggere le righe. La funzione Python readline() è usata all’interno di while-loop per leggere le righe.