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. Essa รจ fondamentale prima di effettuare qualsasi operazione sui file al fine di evitare errori dovuti, appunto, all’inesistenza dello stesso.

Pubblicitร 

In questa lezione vedremo come verificare in Python se un file esiste o meno utilizzando diverse tecniche, analizzando i vantaggi e gli svantaggi di ciascun metodo.

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.

Differenze 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.

Best Practices per la gestione dei file in Python

Oltre alla verifica dell’esistenza di un file, ci sono alcune best practices da tenere a mente quando si gestiscono file in Python:

  • Utilizzare try-except per gestire le eccezioni durante le operazioni su file, come l’apertura e la chiusura di file, in modo da prevenire crash del programma.
  • Chiudere sempre i file aperti per liberare risorse di sistema.
  • Utilizzare l’opzione with per gestire automaticamente la chiusura dei file.

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. Scegliere il metodo appropriato in base alle proprie esigenze contribuirร  a scrivere codice piรน robusto ed efficiente.

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.