Gestione di file in Python
- Admin
- Didattica , Python
- 10 Apr, 2022
La gestione dei file è un aspetto fondamentale della programmazione in Python. Con Python, è possibile creare, leggere, scrivere e modificare file su disco. Questa capacità è di grande importanza, in quanto consente di manipolare dati persistenti, leggere input da file e scrivere output su file. In questo articolo, esploreremo i concetti fondamentali della gestione dei file in Python e forniremo esempi pratici per illustrare le varie operazioni che possono essere eseguite sui file.
Apertura e Chiusura di un File Prima di poter lavorare con un file, è necessario aprirlo. Python fornisce la funzione open() per aprire un file. La sintassi di base per aprire un file è la seguente:
file = open("nome_file", "modalità")
“nome_file” rappresenta il percorso del file che si desidera aprire. Può essere il nome del file o il percorso completo del file.
“modalità” specifica la modalità in cui il file verrà aperto. Ci sono diverse modalità disponibili:
“r”: modalità di lettura. Il file viene aperto in modalità di sola lettura e il puntatore del file viene posizionato all’inizio del file. “w”: modalità di scrittura. Il file viene aperto in modalità di sola scrittura. Se il file esiste già, il suo contenuto viene sovrascritto. Se il file non esiste, viene creato un nuovo file. “a”: modalità di append. Il file viene aperto per l’aggiunta di nuovi contenuti. Il puntatore del file viene posizionato alla fine del file. Se il file non esiste, viene creato un nuovo file. “x”: modalità di creazione esclusiva. Il file viene aperto solo per la scrittura. Se il file esiste già, si verifica un errore.
Una volta aperto un file, è necessario chiuderlo. Per chiudere un file, è possibile utilizzare il metodo close() del file. La sintassi per chiudere un file è la seguente:
file.close()
Esempio: Apertura e Chiusura di un File
# Apertura di un file in modalità di sola lettura
file = open("file.txt", "r")
# Chiusura del file
file.close()
Lettura dei Dati da un File
Una delle operazioni più comuni sulla gestione dei file è la lettura dei dati da un file. Python fornisce diversi metodi per leggere i dati da un file. Vediamo alcuni esempi.
Metodo read()
Il metodo read()
viene utilizzato per leggere il contenuto di un file come una stringa. Legge l’intero contenuto del file o, se specificato, un numero di byte specificato come argomento. Ecco un esempio:
# Apertura di un file in modalità di sola lettura
file = open("file.txt", "r")
# Lettura del contenuto del file
content = file.read()
print(content)
# Chiusura del file
file.close()
Metodo readline()
Il metodo readline()
viene utilizzato per leggere una singola riga da un file. Il metodo readline() legge fino al carattere di nuova riga (\n) e restituisce l’intera riga. Se il metodo readline() viene chiamato quando il puntatore del file è posizionato alla fine del file, restituisce una stringa vuota ("").
# Apertura di un file in modalità di sola lettura
file = open("file.txt", "r")
# Lettura della prima riga del file
line = file.readline()
print(line)
# Lettura della seconda riga del file
line = file.readline()
print(line)
# Chiusura del file
file.close()
Metodo readlines()
Il metodo readlines()
viene utilizzato per leggere tutte le righe di un file come una lista. Ogni elemento della lista corrisponde a una riga del file, inclusi i caratteri di nuova riga (\n). Ecco un esempio:
# Apertura di un file in modalità di sola lettura
file = open("file.txt", "r")
# Lettura di tutte le righe del file
lines = file.readlines()
print(lines)
# Chiusura del file
file.close()
Scrittura dei Dati su un File
Python fornisce diversi metodi per scrivere i dati su un file. Vediamo alcuni esempi.
Metodo write()
Il metodo write()
viene utilizzato per scrivere una stringa in un file. Il metodo write() restituisce il numero di caratteri scritti nel file. Ecco un esempio:
# Apertura di un file in modalità di sola scrittura
file = open("file.txt", "w")
# Scrittura di una stringa nel file
file.write("Hello World")
# Chiusura del file
file.close()
Metodo writelines()
Il metodo writelines()
viene utilizzato per scrivere una lista di stringhe in un file. Ecco un esempio:
# Apertura di un file in modalità di sola scrittura
file = open("file.txt", "w")
# Scrittura di una lista di stringhe nel file
lines = ["Hello", "World", "Welcome", "To", "Python"]
file.writelines(lines)
# Chiusura del file
file.close()
Esempio: Lettura e Scrittura di un File
# Apertura di un file in modalità di sola lettura
file = open("file.txt", "r")
# Lettura del contenuto del file
content = file.read()
print(content)
# Chiusura del file
file.close()
# Apertura di un file in modalità di sola scrittura
file = open("file.txt", "w")
# Scrittura di una stringa nel file
file.write("Hello World")
# Chiusura del file
file.close()
Chiusura Automatica dei File con il Costrutto with
Finora abbiamo visto come aprire e chiudere manualmente i file utilizzando i metodi open() e close(). Tuttavia, Python fornisce un modo più efficiente per gestire i file, utilizzando il costrutto with. Il costrutto with assicura che il file venga chiuso automaticamente alla fine del suo utilizzo, anche nel caso di eccezioni. Vediamo un esempio:
with open("file.txt", "r") as file:
content = file.read()
print(content)
Esercizi
- Scrivere un programma che legga un file di testo e stampi a video il numero di righe del file.
- Scrivere un programma che legga un file di testo e stampi a video il numero di parole del file.
- Scrivere un programma che legga un file di testo e stampi a video il numero di caratteri del file.
- Scrivere un programma che legga un file di testo e stampi a video il numero di righe, parole e caratteri del file.
- Scrivere un programma che legga un file di testo e stampi a video il numero di righe, parole e caratteri del file.