HOWTO · Python
Comment vérifier si un fichier existe en Python
Cet article pratique présente comment vérifier si un fichier existe en Python
Sur cette page
Ce tutoriel présente trois solutions différentes pour vérifier si un fichier existe en Python.
- Bloc
try...exceptpour vérifier l’existence du fichier (>=Python 2.x) - Fonction
os.path.isfilepour vérifier l’existence du fichier (>=Python 2.x) pathlib.Path.is_file()vérifie l’existence du fichier (>=Python 3.4)
try...except pour vérifier l’existence du fichier (>Python 2.x)
Nous pourrions essayer d’ouvrir le fichier et vérifier si le fichier existe ou non selon que IOError (en Python 2.x) ou FileNotFoundError (en Python 3.x) sera lancé ou non.
def checkFileExistance(filePath):
try:
with open(filePath, "r") as f:
return True
except FileNotFoundError as e:
return False
except IOError as e:
return False
Dans l’exemple de code ci-dessus, nous le rendons compatible avec Python 2/3 en listant à la fois FileNotFoundError et IOError dans la partie de capture des exceptions.
os.path.isfile() pour vérifier si le fichier existe (>=Python 2.x)
import os
fileName = "temp.txt"
os.path.isfile(fileName)
Il vérifie si le fichier fileName existe.
Certains développeurs préfèrent utiliser os.path.exists() pour vérifier si un fichier existe. Mais il ne peut pas distinguer si l’objet est un fichier ou un répertoire.
import os
fileName = "temp.txt"
print(os.path.exists(fileName))
fileName = r"C:\Test"
print(os.path.exists(fileName))
Par conséquent, n’utilisez os.path.isfile que si vous voulez vérifier si le fichier existe.
pathlib.Path.is_file() pour vérifier si le fichier existe (>=Python 3.4)
Depuis Python 3.4, il introduit une méthode orientée objet dans le module pathlib pour vérifier si un fichier existe.
from pathlib import Path
fileName = "temp.txt"
fileObj = Path(fileName)
print(fileObj.is_file())
De même, il a aussi les méthodes is_dir() et exists() pour vérifier si un répertoire ou un fichier/répertoire existe.