logo

Come leggere da un file in Python

Python fornisce funzioni integrate per creare, scrivere e leggere file. Esistono due tipi di file che possono essere gestiti in Python, normali file di testo e file binari (scritti in linguaggio binario, 0 e 1).

    File di testo: in questo tipo di file, ogni riga di testo termina con un carattere speciale chiamato EOL (End of Line), che è il carattere di nuova riga (' ') in Python per impostazione predefinita. File binari: in questo tipo di file non è presente alcun terminatore per una riga e i dati vengono memorizzati dopo essere stati convertiti in un linguaggio binario comprensibile dalla macchina.

Nota: Per saperne di più sulla gestione dei file clicca qui .

Modalità di accesso

Le modalità di accesso governano il tipo di operazioni possibili nel file aperto. Si riferisce a come verrà utilizzato il file una volta aperto. Queste modalità definiscono anche la posizione del File Handle nel file. L'handle del file è come un cursore, che definisce da dove i dati devono essere letti o scritti nel file. Diverse modalità di accesso per la lettura di un file sono:



    Sola lettura ('r'): apre il file di testo per la lettura. La maniglia è posizionata all'inizio del file. Se il file non esiste, genera un errore I/O. Questa è anche la modalità predefinita in cui viene aperto il file. Leggi e scrivi ('r+'): apre il file per leggere e scrivere. La maniglia è posizionata all'inizio del file. Genera un errore I/O se il file non esiste. Aggiungi e leggi ('a+'): apre il file per la lettura e la scrittura. Il file viene creato se non esiste. La maniglia è posizionata alla fine della lima. I dati in fase di scrittura verranno inseriti alla fine, dopo i dati esistenti.

Nota: Per saperne di più sulla modalità di accesso clicca qui .

Apertura di un file

Viene fatto utilizzando la funzione open(). Per questa funzione non è necessario importare alcun modulo.

Sintassi:

float in stringa
File_object = open(r'File_Name', 'Access_Mode')>

Il file dovrebbe esistere nella stessa directory del file del programma Python altrimenti, l'indirizzo completo del file dovrebbe essere scritto al posto del nome file. Nota: La r viene posizionata prima del nome file per evitare che i caratteri nella stringa del nome file vengano trattati come caratteri speciali. Ad esempio, se è presente emp nell'indirizzo del file, viene trattato come carattere di tabulazione e viene generato un errore di indirizzo non valido. La r rende la stringa grezza, cioè indica che la stringa è priva di caratteri speciali. La r può essere ignorata se il file si trova nella stessa directory e l'indirizzo non viene inserito.

Python3




# Open function to open the file 'MyFile1.txt'> # (same directory) in read mode and> file1>=> open>('MyFile.txt', 'r')> > # store its reference in the variable file1> # and 'MyFile2.txt' in D:Text in file2> file2>=> open>(r'D:TextMyFile2.txt', 'r>+>')>

>

>

Qui, file1 viene creato come oggetto per MyFile1 e file2 come oggetto per MyFile2.

Chiusura di un file

La funzione close() chiude il file e libera lo spazio di memoria acquisito da quel file. Viene utilizzato nel momento in cui il file non è più necessario o se deve essere aperto in una modalità file diversa.

Sintassi:

File_object.close()>

Python3


cos'è l'alveare



# Opening and Closing a file 'MyFile.txt'> # for object name file1.> file1>=> open>('MyFile.txt', 'r')> file1.close()>

>

>

Lettura da un file

Esistono tre modi per leggere i dati da un file di testo.

    read() : Restituisce i byte letti sotto forma di una stringa. Legge n byte, se nessun n specificato, legge l'intero file.
File_object.read([n])>
    readline() : Legge una riga del file e restituisce sotto forma di una stringa. Per n specificato, legge al massimo n byte. Tuttavia, non legge più di una riga, anche se n supera la lunghezza della riga.
File_object.readline([n])>
    readlines() : legge tutte le righe e le restituisce come ogni riga un elemento stringa in un elenco.
File_object.readlines()>

Nota: ' ' viene trattato come un carattere speciale di due byte.

Esempio:

Python3




# Program to show various ways to> # read data from a file.> # Creating a file> file1>=> open>('myfile.txt', 'w')> L>=> ['This>is> Delhi ', 'This>is> Paris ', 'This>is> London ']> # Writing data to a file> file1.write('Hello ')> file1.writelines(L)> file1.close()># to change file access modes> file1>=> open>('myfile.txt', 'r>+>')> print>('Output of Read function>is> ')> print>(file1.read())> print>()> # seek(n) takes the file handle to the nth> # byte from the beginning.> file1.seek(>0>)> print>('Output of Readline function>is> ')> print>(file1.readline())> print>()> file1.seek(>0>)> # To show difference between read and readline> print>('Output of Read(>9>) function>is> ')> print>(file1.read(>9>))> print>()> file1.seek(>0>)> print>('Output of Readline(>9>) function>is> ')> print>(file1.readline(>9>))> print>()> file1.seek(>0>)> # readlines function> print>('Output of Readlines function>is> ')> print>(file1.readlines())> print>()> file1.close()>

ordinamento delle tuple Python

>

>

Produzione:

Output of Read function is Hello This is Delhi This is Paris This is London Output of Readline function is Hello Output of Read(9) function is Hello Th Output of Readline(9) function is Hello Output of Readlines function is ['Hello 
', 'This is Delhi 
', 'This is Paris 
', 'This is London 
']>

Con dichiarazione

with in Python viene utilizzato nella gestione delle eccezioni per rendere il codice più pulito e molto più leggibile. Semplifica la gestione delle risorse comuni come i flussi di file. A differenza delle implementazioni precedenti, non è necessario chiamare file.close() quando si utilizza with istruzione. L'istruzione with stessa garantisce la corretta acquisizione e rilascio delle risorse.

Sintassi:

with open filename as file:>

Python3




# Program to show various ways to> # read data from a file.> L>=> ['This>is> Delhi ', 'This>is> Paris ', 'This>is> London ']> # Creating a file> with>open>('myfile.txt', 'w') as file1:> ># Writing data to a file> >file1.write('Hello ')> >file1.writelines(L)> >file1.close()># to change file access modes> with>open>('myfile.txt', 'r>+>') as file1:> ># Reading from a file> >print>(file1.read())>

>

>

Produzione:

Hello This is Delhi This is Paris This is London>

Nota: Per saperne di più con la dichiarazione clicca qui .