Se ti stai chiedendo come creare, aprire, leggere, scrivere, ovvero come gestire un file in Python, puoi impararlo leggendo questo articolo!
Per gestire un file intendiamo tutta quella serie di operazioni che ci è concesso fare in Python sui file stessi.
Siccome le operazioni non sono poche ed è probabile che tu stia cercando di capire come effettuare una determinata operazione su un file, ho deciso di separare l’articolo: sezione per sezione ti mostrerò come eseguire tutte queste attività!
Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!
Come creare un file
Senza questa operazione, non possiamo eseguire le altre per gestire i file in Python 😉
È un po’ un “controsenso” la funzione usata per creare un file, ma credo che il codice a seguito parli più di mille parole:
file = open("nomeDelTuoNuovoFile.ext", "x")
Eh già, “open”. Non suona troppo bene per creare un file, ma se ci hai fatto caso, oltre a specificare nome ed estensione del file che sei intenzionato a creare, dovrai specificare un secondo parametro.
Il parametro in questione è l’opzione che permette di far capire alla funzione “open” che è tua intenzione creare un nuovo file da zero: in questo caso una bella “x”.
E c’è di più: permette di gestire anche gli errori. In parole povere, se un file con il nome ed estensione che hai specificato nella funzione esiste già, viene lanciato un errore.
Tuttavia, se vogliamo fare gli gnorri e fregarcene se il file esiste o meno, possiamo fare diversamente:
file = open("nomeDelTuoNuovoFile.ext", "w")
Tramite la seconda opzione in questo caso, se il file esiste, viene sovrascritto, perciò: attento!
Chiarito come creare un file, passiamo agli altri metodi per gestirli appieno.
Come aprire un file in Python
Seconda operazione che vediamo per gestire i file in Python.
Fammi indovinare? Scommetto che hai già capito come si fa! 😀
Ebbene sì, se hai avuto l’intuizione che non ci allontaniamo troppo da quanto visto prima, bingo!
file = open("nomeDelFileDaAprire.ext", "r")
Tramite la seconda opzione, specificata con “r”, stiamo dicendo a Python di aprire in lettura il file!
Ma ora che l’abbiamo aperto?
Come leggere il contenuto di un file
Capito come si apre un file in lettura, dobbiamo usare un’altra funzione per leggerne il contenuto.
Bisogna usare la funzione read che si applica come metodo al file che abbiamo aperto:
print(f"ecco il contenuto del file: {file.read()})
Molto semplice direi.
Passiamo alla quarta operazione per gestire i file.
Come scrivere su un file in Python
Anche perché i file sono fatti per scrivere dati al loro interno 🙂
All’inizio dell’articolo avrai notato che aprendo un file con una certa opzione, qualcosa di simile c’era.
Mi spiego meglio, riprendiamo l’esempio fatto qualche paragrafo prima:
file = open("nomeDelFileSuCuiScrivere.ext", "w")
La seconda opzione del metodo “open” guardacaso è proprio una “w”, che in inglese sta per “write”, ovvero “scrivere”!
In questo modo però succede una cosa che può essere spiacevole.
Se apro il file con l’opzione “w” sovrascrivo il contenuto già presente nel file.
Per completezza:
file = open("nomeDelFileSuCuiScrivere.ext", "w")
file.write("ho appena sovrascritto il contenuto del file")
Se non voglio sovrascrivere, ma voglio scrivere in coda al contenuto già presente, devo usare la seconda opzione del metodo “open”, con la letterina “a”, che sta per “append”, ovvero “appendi”:
file = open("nomeDelFileSuCuiScrivere.ext", "a")
file.write("ho appena scritto in coda al contenuto già presente del file")
Eppure non abbiamo finito con il gestire i file in scrittura con Python, no! Dobbiamo fare un’ultima cosa, che vale anche per la lettura.
Come chiudere un file
Ebbene sì, dobbiamo “chiudere” la variabile che contiene il file una volta che abbiamo finito di fare ciò che dobbiamo farci, perchè altrimenti andremo a sprecare la memoria del nostro computer!
Per farlo, non abbiamo bisogno di reinventare la ruota:
file.close()
La “close” per i file in Python è sufficiente a chiuderli. Fine del cinema!
… Ma non per quello che dobbiamo fare noi, perché manca proprio un’ultimissima cosa.
Come eliminare un file
Sappiamo come creare, aprire, leggere, scrivere un file… Eh ma come si elimina?
Semplice!
Con la libreria “os”:
import os
os.remove("nomeDelFileDaEliminare.ext")
Tramite la funzione “remove” presente nella libreria “os” possiamo eliminare un file in Python.
A proposito di eliminare un file in Python, vorrei concludere l’articolo con una cosa molto utile.
O meglio, con un altro articolo!
E se… Ammettiamo vuoi essere sicuro che il file da eliminare esista davvero?
Beh, dovresti evitare di generare un’eccezione per evitare che esplosa tutto quanto!
E lo spiego qui: “Python: come verificare se un file esiste senza eccezioni”
Direi che dopo questo articolo bonus, non ti manca nulla per capire come gestire i file in Python! 😀