Come leggere e scrivere file in Python
Leggere e scrivere su file è un'attività comune nella programmazione e Python la semplifica con le sue capacità di gestione dei file integrate. Capire come lavorare con i file è essenziale per qualsiasi programmatore Python, poiché consente di gestire l'archiviazione dei dati, la registrazione, la gestione della configurazione e altro ancora. Questa guida spiegherà come aprire, leggere, scrivere e chiudere file in Python, nonché come gestire diverse modalità di file.
Apertura e chiusura dei file
In Python, si usa la funzione open()
per aprire un file. La funzione open()
restituisce un oggetto file, che fornisce metodi per la lettura e la scrittura. È importante chiudere un file dopo averlo utilizzato usando il metodo close()
per liberare risorse di sistema.
# Opening and closing a file
file = open("example.txt", "r") # Open file for reading
# Perform file operations
file.close() # Close the file
Lettura dei file
Esistono diversi modi per leggere il contenuto di un file in Python, a seconda delle esigenze:
Leggi l'intero file
Il metodo read()
legge l'intero contenuto del file in un'unica stringa.
# Reading the entire file
with open("example.txt", "r") as file:
content = file.read()
print(content)
Leggi le righe di un file
Il metodo readline()
legge una riga dal file, mentre readlines()
legge tutte le righe e le restituisce come un elenco.
# Reading lines using readline()
with open("example.txt", "r") as file:
line = file.readline()
while line:
print(line.strip())
line = file.readline()
# Reading all lines using readlines()
with open("example.txt", "r") as file:
lines = file.readlines()
for line in lines:
print(line.strip())
Lettura dei file riga per riga
Il metodo preferito per leggere un file riga per riga è usare un ciclo for
direttamente sull'oggetto file. Questo approccio è efficiente in termini di memoria, specialmente per file di grandi dimensioni.
# Reading file line by line using a for loop
with open("example.txt", "r") as file:
for line in file:
print(line.strip())
Scrittura su file
Python consente di scrivere su file utilizzando i metodi write()
e writelines()
. È necessario aprire il file in una modalità che supporti la scrittura, come 'w'
(write) o 'a'
(append).
Scrittura su un file
Il metodo write()
scrive una singola stringa in un file. L'apertura di un file in modalità di scrittura 'w'
creerà un nuovo file o ne sovrascriverà uno esistente.
# Writing to a file
with open("output.txt", "w") as file:
file.write("Hello, World!\n")
file.write("This is a new line.")
Aggiunta a un file
L'apertura di un file in modalità aggiunta 'a'
consente di aggiungere contenuto alla fine di un file esistente senza sovrascriverne il contenuto.
# Appending to a file
with open("output.txt", "a") as file:
file.write("\nThis line is appended.")
Scrivere più righe
Il metodo writelines()
viene utilizzato per scrivere più righe in un file. Si aspetta un elenco di stringhe, ciascuna rappresentante una riga.
# Writing multiple lines to a file
lines = ["Line 1\n", "Line 2\n", "Line 3\n"]
with open("output.txt", "w") as file:
file.writelines(lines)
Modalità file
La funzione open()
di Python supporta diverse modalità per l'apertura dei file:
'r'
- Modalità di lettura (predefinita). Apre un file per la lettura.'w'
- Modalità scrittura. Apre un file per la scrittura (crea un nuovo file o tronca un file esistente).'a'
- Modalità Aggiungi. Apre un file per l'aggiunta (crea un nuovo file se non esiste).'r+'
- Modalità di lettura e scrittura. Apre un file sia in lettura che in scrittura.'b'
- Modalità binaria. Apre un file in modalità binaria (utilizzata con'rb'
,'wb'
, ecc.).
Conclusione
Leggere e scrivere su file in Python è semplice una volta compresi i concetti di base e le modalità file. Padroneggiando la gestione dei file, puoi gestire in modo efficiente i dati, gestire input/output utente e automatizzare le attività che coinvolgono operazioni sui file. Fai pratica usando queste tecniche per diventare esperto nella gestione dei file in Python.