back to top

Python: verificare se un file esiste

In Python, come abbiamo visto nella lezione precedente della nostra guida, è possibile compiere diverse operazioni sul filesystem, come la creazione, la lettura e la scrittura di file.

Una delle operazioni più importanti quando si lavora con il filesystem, però, è la verifica dell’esistenza di un file. Esaa è fondamentale prima di effettuare qualsasi operazione sui file al fine di evitare errori dovuti, appunto, all’inesistenza dello stesso.

In questa lezione vedremo come verificare in Python se un file esiste o meno utilizzando diverse tecniche.

La funzione os.path.isfile()

La funzione più comune per verificare se un file esiste in Python è la funzione os.path.isfile(). Questa funzione prende come argomento una stringa che rappresenta il percorso del file e restituisce un valore booleano, cioè True se il file esiste e False in caso contrario.

Di seguito un esempio:

import os

if os.path.isfile('path/file.txt'):
    print("Il file esiste!")
else:
    print("Il file non esiste!")

In questo esempio, stiamo utilizzando la funzione os.path.isfile() per verificare se il file file.txt esiste nel percorso specificato. Se il file esiste, la funzione restituirà True e stamperemo il messaggio "Il file esiste!". Se il file non esiste, la funzione restituirà False e stamperemo il messaggio "Il file non esiste!".

Il metodo pathlib.Path.exists()

Un’altra tecnica per verificare l’esistenza di un file in Python consiste nell’utilizzare il metodo exists() della classe pathlib.Path. Questo metodo, esattamente come la funzione precedente, restituisce True o False a seconda che il file esista o meno.

Vediamo un esempio:

from pathlib import Path

file_path = Path('path/file.txt')

if file_path.exists():
    print("Il file esiste!")
else:
    print("Il file non esiste!")

Il risultato prodotto mediante questo codice è il medesimo dell’esempio precedente.

Questo metodo verifica se un path esiste o meno a prescindere che si tratti di un file o di una cartella.

Il metodo os.path.exists()

Un’altra opzione per verificare l’esistenza di un file in Python è utilizzare il metodo os.path.exists(). Questo metodo prende come argomento una stringa che rappresenta il percorso del file e restituisce True o False a seconda dell’esito della verifica.

Ecco un esempio:

import os

if os.path.exists('path/file.txt'):
    print("Il file esiste!")
else:
    print("Il file non esiste!")

Il risultato del codice non varia rispetto agli esempi già visti in precedenza.

Si noti che attraverso il metodo os.path.exists() è possibile verificare l’esistenza di qualsiasi file o directory. Se il percorso specificato esiste, il metodo restituirà True, altrimenti restituirà False.

Differente tra i tre metodi di verifica

I tre metodi che abbiamo visto per verificare se un file esiste in Python, pur essendo tutti utilizzati per lo stesso scopo, differiscono per alcune funzionalità e caratteristiche:

  • Il metodo os.path.isfile() è specifico per verificare se il percorso indicato rappresenta un file. Se il percorso rappresenta una directory, seppur esistente, la funzione restituirà False!
  • Il metodo pathlib.Path.exists() appartiene alla classe pathlib.Path e può essere utilizzato per verificare se un percorso specificato esiste, indipendentemente dal fatto che sia un file o una directory.
  • Il metodo os.path.exists() è simile a pathlib.Path.exists() e come questo può essere utilizzato per verificare se esiste un percorso specificato, indipendentemente dal fatto che sia un file o una directory.
  • I metodi os.path.isfile() e os.path.exists() richiedono l’importazione del modulo os, a differenza di pathlib.Path.exists() che non richiede l’importazione di alcun modulo.

In generale, tutti e tre i metodi possono essere utilizzati per verificare se un file esiste in Python, ma la scelta del metodo dipende dalle esigenze specifiche del progetto e dalle preferenze personali del programmatore.

Conclusioni

In questo articolo, abbiamo visto tre tecniche diverse per verificare l’esistenza di un file in Python. Verificare se un file esiste o meno è un’operazione importante prima di operare su un file: ad esempio, prima di aprire un file per la lettura o la scrittura, è bene verificare se il file esiste per evitare errori nel codice.

Pubblicità
Claudio Garau
Claudio Garau
Web developer, programmatore, Database Administrator, Linux Admin, docente e copywriter specializzato in contenuti sulle tecnologie orientate a Web, mobile, Cybersecurity e Digital Marketing per sviluppatori, PA e imprese.