Leggere e scrivere file con Python

Reading Writing Files With Python



I file vengono utilizzati per archiviare e organizzare i dati su un disco. Utilizziamo spesso i file quando abbiamo bisogno di archiviare i dati in modo permanente su un disco rigido. Ad esempio, supponiamo che stiamo costruendo un sistema software che mantiene i record degli studenti. Ora, dobbiamo archiviare i dati degli studenti in modo permanente per un uso futuro. A tal fine, possiamo utilizzare i file per memorizzare i dati e, in seguito, possiamo aprire questi file e accedere ai dati memorizzati in qualsiasi momento.

La lettura e la scrittura di file sono funzioni molto comuni in Python. È facile creare, leggere e modificare file in Python. Python è dotato di funzioni integrate per leggere e scrivere file. Puoi aprire, scrivere e leggere file utilizzando le funzioni integrate di Python. Le operazioni sui file vengono eseguite nella seguente sequenza:







  • Apri un file
  • Leggi/scrivi file
  • Chiudi file

Usando Python, puoi creare file di testo e file binari. I file di testo memorizzano i dati sotto forma di caratteri e ogni riga termina con un carattere di nuova riga (' '). Nei file binari, i dati vengono archiviati sotto forma di byte (1 e 0).



In questo articolo imparerai:



  • Alcune delle diverse modalità di file in Python
  • Come aprire un file
  • Come creare un file
  • Come scrivere dati su un file
  • Come leggere un file

Diverse modalità di file in Python

Le modalità in Python descrivono il tipo di operazione da eseguire sul file. Quando si apre un file, è necessario specificare la modalità. Ogni file ha un handle di file. L'handle del file agisce come un cursore che specifica dove scrivere e leggere i dati. È un tipo di puntatore di posizione. Di seguito sono incluse alcune delle diverse modalità di accesso ai file in Python:





Modalità Descrizione
R Apre il file in modalità lettura. Questa modalità è selezionata per impostazione predefinita se non si definisce alcuna modalità durante l'apertura del file in Python.
in Scrive un file. Questa modalità crea un file se il file non esiste già e sovrascrive i dati nel file.
r+ Utilizzato per leggere e scrivere il file. Mostra un errore se il file non esiste.
a Apre il file in modalità di aggiunta. L'handle del file si trova alla fine del file. Questa modalità non sovrascrive i dati esistenti ma inizia a scrivere i dati alla fine del file. Se il file non esiste, viene creato un nuovo file.
un + Apre il file per la lettura e la scrittura. Questo apre il file in modalità di aggiunta per la scrittura. I dati vengono inseriti alla fine del file. Se il file non esiste, viene creato un nuovo file.
T Apre il file in modalità testo.

Come aprire un file

Per aprire un file in Python, usa il built-in aprire() funzione. La funzione open() accetta due argomenti come input, ovvero il nome del file e la modalità di funzionamento. Questa funzione restituisce l'oggetto file come output. Non è necessario importare alcun modulo per utilizzare la funzione open(). La seguente è la sintassi della funzione open():

file_oggetto= aprire(nome del file,modalità)

Qui, 'file_name' rappresenta il nome del file di testo effettivo, mentre 'mode' rappresenta l'accesso al file o la modalità di funzionamento del file. Puoi anche inserire r prima di 'file_name', se il nome del file include caratteri speciali. La r è posta come segue:



=file_oggetto= aprire(rfile_name,modalità)

Ad esempio, il nome del file potrebbe essere: F: ewfoldermyfile.txt

Come creare un file

La funzione open() può essere utilizzata per creare file in Python. Utilizzare la modalità append (a) all'interno della funzione open() per creare il file. Crea un file utilizzando il codice indicato di seguito:

file = aprire('campione.txt','a')

Qui viene creato un nuovo oggetto file. L'oggetto file è denominato file. Il nome del file di testo appena creato è sample.txt. Il file di testo viene aperto in modalità di aggiunta. Creerà il nuovo file se il file non esiste già. Dopo aver creato il file, è necessario chiudere il file nel modo seguente:

file.chiudere()

La funzione built-in close() viene utilizzata per chiudere il file.

Come scrivere dati su un file

Ci sono due funzioni in Python usate per scrivere dati in un file:

  1. Scrivi()
  2. righe di scrittura()

La funzione write() viene utilizzata per scrivere dati a riga singola o a stringa singola in un file, mentre la funzione writelines() viene utilizzata per scrivere più righe di dati in un file di testo. Vediamo alcuni esempi di scrittura di dati su un file.

Utilizzo della funzione write()

In questo esempio, stiamo usando la funzione write() per scrivere dati in un file. Il file viene aperto in modalità di scrittura. è posizionato per specificare la fine della riga.

# creazione di un nuovo oggetto file e apertura di un file in modalità di scrittura
file=aprire('campione.txt','in')
# scrivere una riga in un file

file.Scrivi('Benvenuto in linuxhint ')
# scrivere un'altra singola riga in un file
file.Scrivi('Ben tornato')

#chiudo il file
file.chiudere()

Produzione

Le righe sono state scritte nei file di testo.

Se apriamo il file in modalità di scrittura e chiediamo alla funzione write() di scrivere più righe nel file, sovrascriverà i dati precedenti e i nuovi dati verranno aggiunti nel file di testo.

# creazione di un nuovo oggetto file e apertura di un file in modalità di scrittura
file=aprire('campione.txt','in')
# scrivere una riga in un file

file.Scrivi('Ciao a tutti ')
# scrivere un'altra singola riga in un file
file.Scrivi('Questa è la stringa sostituita')

#chiudo il file
file.chiudere()

Produzione

Nell'output, si può vedere che i dati precedenti vengono sostituiti e nuovi dati vengono aggiunti al suo posto nel file di testo.

Se vogliamo mantenere sia i dati precedenti che quelli nuovi nel file, possiamo aprire il file in modalità append, in questo modo:

# creazione di un nuovo oggetto file e apertura di un file in modalità append
file=aprire('campione.txt','a')
# scrivere una riga in un file

file.Scrivi('Ciao a tutti ')
# scrivere un'altra singola riga in un file
file.Scrivi('Questa è la stringa sostituita ')
# scrivendo un'altra nuova singola riga in un file
file.Scrivi('Questa è la stringa di stringa appena aggiunta ')
#chiudo il file
file.chiudere()

Produzione

Utilizzo della funzione writelines()

La funzione writelines() viene utilizzata per scrivere più righe in un testo contemporaneamente, come segue:

# creazione di un nuovo oggetto file e apertura di un file in modalità di scrittura
file=aprire('file1.txt','in')
# memorizzazione di più dati di stringa in una variabile
P = ['Ciao a tutti ','Benvenuto in linuxhint ','stiamo usando la funzione writelines ']
# utilizzo delle funzioni writelines per scrivere dati in un file
file.righe di scrittura(P)
#chiudo il file
file.chiudere()

Produzione

Come leggere un file

Per leggere un file in Python, per prima cosa apri il file in modalità lettura. Ci sono tre funzioni integrate in Python per leggere un file. Questi includono quanto segue:

  1. leggere()
  2. linea di lettura()
  3. righe di lettura()

leggere(): Utilizzato per leggere i dati da un file; restituisce tutti i dati sotto forma di stringa.

linea di lettura(): Legge una riga di dati da un file; restituisce solo la prima riga.

righe di lettura(): Legge tutte le righe esistenti da un file; lo restituisce sotto forma di elenco.

La funzione seek() viene utilizzata per modificare la posizione dell'handle del file. Quando si leggono i dati nel file, l'handle del file si posiziona alla fine del file. Quindi, un handle di file è come un cursore, con la funzione seek() come mezzo per spostare il cursore.

Vediamo un esempio di lettura dei dati dal file.

# apertura di un file in modalità lettura
file=aprire('file1.txt','R')
# usando la funzione read() per leggere i dati dal file
# memorizzare le righe in una variabile
dati=file.leggere()
# stampa dei dati
Stampa('Questo è l'output della funzione read(): ')
Stampa(dati)

# usando la funzione seek() per portare la posizione del file in start
file.cercare(0)
# usando la funzione readline() per leggere i dati dal file
# memorizzare le righe in una variabile
dati=file.linea di lettura()
# stampa dei dati
Stampa('Questo è l'output della funzione readline(): ')
Stampa(dati)

# usando la funzione seek() per portare la posizione del file in start
file.cercare(0)
# usando la funzione readlines() per leggere i dati dal file
# memorizzare le righe in una variabile
dati=file.righe di lettura()
# stampa dei dati
Stampa('Questo è l'output della funzione readlines(): ')
Stampa(dati)
#chiudo il file
file.chiudere()

Produzione

Conclusione

Spesso è necessario memorizzare informazioni o dati in un file. In Python, puoi facilmente creare, scrivere e leggere file usando le funzioni integrate di Python. Non è necessario importare altri moduli nel programma quando si desidera leggere, scrivere e creare file. È inoltre possibile utilizzare più modalità di accesso integrate durante l'utilizzo dei file. In questo articolo abbiamo spiegato come leggere e scrivere file in Python con alcuni semplici esempi.