Python: come eliminare un file o una cartella

di Lorenzo Neri
399 visualizzazioni

Ti sei sempre chiesto come eliminare un file oppure una cartella in Python? In questo articolo ti spiego come fare in pochi passi.

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!

Il titolo e la frase introduttiva di questo articolo non lasciano niente di sottinteso, perciò: una cosa per volta vediamo come gestire l’eliminazione dei file e delle cartelle nei tuoi script Python.

Python: eliminare un file, come si fa?

Partiamo dai file: hai bisogno del modulo “os”, per la precisione della funzione “remove”.

Questa funzione, permette di eliminare un file e trovi maggiori dettagli qui, quindi:

import os
os.remove("nome_del_file.estensione")

Semplice, ma ti vorrei dare anche un avvertimento. Se il file che hai indicato nell’argomento della funzione non esiste, verrà lanciata un’eccezione: la “FileNotFoundError” per essere precisi.

Ci sarebbe anche un altro modo per eliminare un file in Python: tramite il pacchetto “pathlib”.

Pathlib è un package Python che fa al caso tuo, ma solo per versioni Python dalla 3.4 in poi.

In questo caso, ti basta procedere come segue:

file_to_rem = pathlib.Path("nome_del_file.estensione")
file_to_rem.unlink()

Perché spiegartelo? Beh perchè la funzione “unlink” permette di passare anche un parametro che si chiama “missing_ok“.

Se impostato a “False e il file non esiste, non viene sollevata alcuna eccezione.

Ma vediamo di completare il nostro percorso: come eliminare un file l’abbiamo capito vediamo come eliminare una cartella.

Eliminiamo le cartelle

Di per sé non devi inventare nulla: partiamo sempre dal modulo “os”.

os.rmdir("percorso/della/cartella/da/eliminare")

Ma devo essere sincero con te.

In ambiente Linux/Mac questa funzione funziona solo se la cartella in questione è vuota: su Windows elimina anche il suo contenuto.

Come eliminare quindi una cartella NON vuota? Tramite shutil e la funzione “rmtree”:

shutil.rmtree("percorso/della/cartella/da/eliminare")

Semplice anche questo.

In tutto ciò, sia per eliminare un file, sia per eliminare una cartella ti capiterà sicuramente di dover gestire le eccezioni: te ne accorgerai!

Ma prima di salutarti, ti volevo dire che ancora una volta anche “pathlib” permette di eliminare una cartella in Python!

Ti suggerisco di buttare un occhio qui 😉

Continua a scoprire di più con questi articoli!

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più