Leggere e scrivere su un file per l'archiviazione o per un utilizzo successivo sono attività comuni nella programmazione. Python ha diversi modi per lavorare con i file, ma ci concentreremo in particolare sulla scrittura su file di testo. I file di testo vengono utilizzati per archiviare dati di testo semplice e Python semplifica la lettura e la scrittura dei dati nei file di testo da parte dei programmatori.
In questo tutorial spiegheremo come gli utenti possono scrivere in un file di testo utilizzando Python.
Python ha una funzione integrata per creare, scrivere o leggere i file. Può gestire due tipi di file: normali file di testo e file binari. La scelta tra questi due dipende dai dati su cui stai lavorando e dai requisiti dell'applicazione.
Sintassi per aprire un file in Python:
# Method 1: file = open (path_to_the_file, mode) # Manually required to close the file `file.close()` to ensure that # changes made are saved, and system resources are freed up. # Method 2: with open (path_to_the_file, mode) as file: # It automatically closes the file properly # after the block code is executed.
La funzione open() può accettare vari parametri. Ma l’utente deve concentrarsi sui primi due:
Per scrivere in un file di testo l'utente utilizzerà la seguente modalità:
Modalità | Descrizione |
---|---|
'In' | Viene utilizzato per aprire il file di testo per scrivere testo. Il file viene troncato in questa modalità significa che il contenuto esistente del file viene eliminato. |
'UN' | Viene utilizzato per aprire il file di testo per aggiungere testo. Il puntatore viene posizionato alla fine del file e i nuovi dati vengono aggiunti al contenuto esistente. |
Esempio: mostrare come un utente può scrivere in un file di testo utilizzando Python
file.write(' ') file.writelines(' ')
Dipende totalmente dall'utente se desidera aggiungere o meno il testo nella riga seguente.
altrimenti nella shell bash
Esempio 2: mostrare come utilizzare la funzione write() per scrivere l'elenco di testi nel file di testo
# Method 1 - Simple Approach file = open ('writeme.txt', 'w') file.write('writeme') file.close() # Method 2 - Using the 'with' keyword to open a file with open ('writeme.txt', 'w') as file: file.write('writeme')
Produzione:
Entrambi i metodi danno lo stesso risultato.
Passaggi per scrivere in un file di testo in Python:
Per scrivere nel file di testo utilizzando Pitone , l'utente deve seguire i seguenti passaggi:
Passaggio 1: aprire il file: Per iniziare a scrivere su un file di testo, dobbiamo prima aprirlo utilizzando la funzione integrata open(), che accetta due parametri: il nome del file (incluso il percorso se il file non è nella directory corrente) e la modalità in cui vogliamo aprire il file. Nel caso di scrittura su un file di testo, possiamo utilizzare la modalità 'w', che sta per modalità di scrittura, o la modalità 'a', che sta per modalità di aggiunta. Se il file non esiste, Python creerà un nuovo file con il nome specificato.
# Opening a file 'example.txt' file = open('example.txt', 'w')
La funzione open() restituirà un oggetto file e quell'oggetto file avrà due funzioni utili per scrivere del testo al suo interno:
- scrivere()
- righe di scrittura()
La funzione write() viene utilizzata per scrivere la stringa nel file di testo e la funzione writelines() viene utilizzata per scrivere contemporaneamente l'elenco delle stringhe nel file.
La funzione writelines() può anche accettare l'oggetto iterabile. L'utente può anche passare la tupla di stringhe, l'insieme di stringhe, ecc.
Per scrivere nella riga successiva, l'utente deve aggiungere manualmente il carattere di nuova riga.
Passaggio 2: scrivere nel file: Non appena il file viene aperto in modalità scrittura, possiamo utilizzare la funzione write() o la funzione writelines() per scriverci dentro. Il metodo write() accetta una stringa come parametro che vogliamo scrivere nel file. Possiamo scrivere più righe chiamando più volte la funzione write() o utilizzando i caratteri di nuova riga ( ) tra le stringhe per separare le righe.
# Using the 'write' function file.write('This is the first line. ') file.write('This is the second line. ') # Using the 'writelines' function file.writelines('This is the first line. This is the second line. ')
Passaggio 3: chiudere il file: L'utente può chiudere il file di testo utilizzando la funzione close(). Dopo aver scritto il contenuto desiderato nel file, è importante chiuderlo correttamente. La chiusura del file garantisce che eventuali modifiche vengano salvate e che le risorse di sistema vengano liberate.
# Closing the file file.close()
Esempio 2: mostrare come gli utenti possono aggiungere un carattere di nuova riga in un file txt
file.write(' ') file.writelines(' ')
Dipende totalmente dagli utenti se vogliono aggiungere o meno il testo nella riga seguente.
Esempio 3: mostrare come utilizzare la funzione write() per scrivere l'elenco di testi o stringhe in un file di testo
# Creating a list of strings lines_1 = [ 'This is an example', 'to show how a user can write in a text file using Python'] with open('text.txt', 'w') as file: # Iterating over each element of the list for line_1 in lines_1: file.write(line_1) # Adding the line to the text.txt file.write(' ') # Adding a new line character
Produzione:
Spiegazione:
Nell'esempio precedente, abbiamo prima creato un elenco di stringhe denominate righe_1, quindi abbiamo aperto il file utilizzando la funzione open() con l'istruzione 'with'. Abbiamo quindi utilizzato un ciclo for per scorrere gli elementi dell'elenco, seguito dalla scrittura della riga e dall'aggiunta di un nuovo carattere di riga al file. Alla fine del ciclo for viene aggiunto un carattere di nuova riga e il puntatore viene posizionato sulla riga successiva.
Se il file text.txt non esiste nella cartella, la funzione open() creerà il nuovo file e le operazioni verranno eseguite di conseguenza.
Esempio 4: per mostrare come gli utenti possono scrivere l'elenco di stringhe di testo nel file text.txt utilizzando la funzione writelines():
inferno di richiamata in javascript
# Creating a list of strings lines_1 = [ 'This is an example ', 'to show how a user can write in a text file using writelines() function in Python.'] # Opening the text.txt file with open('text.txt', 'w') as file: # Using the writelines() function file.writelines(lines_1)
Produzione:
Spiegazione:
Nell'esempio precedente, la funzione writelines() scrive ogni elemento della lista in una singola riga nel file.
Se l'utente tratta ciascun elemento dell'elenco come una riga, deve collegarlo con un carattere di nuova riga.
Esempio 4: mostrare come un utente può collegare il carattere di nuova riga a ciascun elemento della riga nel file text.txt
Abbiamo già visto nell'esempio numero 3 come possiamo aggiungere un carattere di nuova riga dopo ogni elemento della lista. Mentre utilizziamo la funzione writelines(), dobbiamo aggiungere un carattere di nuova riga nella stringa.
# Creating a list of strings lines_1 = [ 'This is an example ', 'to show how a user can link a new line character ', 'with each element of the list. '] # Opening the text.txt file with open('text.txt', 'w') as file: # Using the writelines function file.writelines(lines_1)
Produzione:
Spiegazione:
Nell'esempio precedente, la funzione writelines() scrive l'elemento della lista nel file text.txt, dove ogni elemento della lista termina con un carattere di nuova riga.
Conclusione
In questo tutorial abbiamo spiegato come un utente può scrivere testi in un file di testo utilizzando Python e le sue diverse funzioni. Abbiamo prima imparato a conoscere i file di testo normali e binari, seguiti dalla sintassi su come aprire un file. Abbiamo anche esaminato la differenza tra 'w' (modalità di scrittura) e 'a' (modalità di aggiunta). Abbiamo poi appreso i passaggi per scrivere in un file di testo in Python e implementato vari esempi per comprendere diversi metodi per scrivere in un file di testo.