Vérifier l'existence de fichiers et répertoires en Python – Guide pratique
Vérifier l'existence de fichiers et répertoires en Python – Guide pratique
Pourquoi vérifier l'existence d'un chemin est important
Lors de la construction d'applications Python robustes, vous avez souvent besoin de confirmer si un fichier ou répertoire est présent avant d'effectuer des opérations comme la lecture, l'écriture ou la suppression. Sauter cette vérification peut entraîner des erreurs d'exécution et des plantages inattendus. Ce guide couvre les méthodes les plus fiables, issues de la documentation officielle Python et des motifs de bonnes pratiques.
Utiliser os.path.exists()
Le module os.path, partie de la bibliothèque standard, fournit une fonction exists() simple qui renvoie True si un chemin fait référence à un fichier ou répertoire existant. C'est la méthode la plus utilisée pour les vérifications d'existence simples.
import os
from os import path
print(path.exists('guru99.txt')) # True si le fichier existe
print(path.exists('monRepertoire')) # True si le répertoire existe
Cas d'utilisation typique
def verifier_element(chemin_str):
if path.exists(chemin_str):
print(f"{chemin_str} existe.")
else:
print(f"{chemin_str} n'existe pas.")
Distinguer les fichiers des répertoires
Pour identifier le type spécifique d'un chemin existant, Python offre deux fonctions complémentaires : isfile() et isdir(). Elles renvoient True seulement si le chemin est un fichier régulier ou un répertoire, respectivement.
print(path.isfile('guru99.txt')) # True si c'est un fichier
print(path.isdir('monRepertoire')) # True si c'est un répertoire
Exploiter pathlib – L'approche moderne
Introduit en Python 3.4, le module pathlib offre une interface orientée objet pour les chemins du système de fichiers. Ses objets Path fournissent des méthodes comme exists(), is_file() et is_dir(), que beaucoup de développeurs trouvent plus lisibles.
from pathlib import Path
chemin_fichier = Path('guru99.txt')
print(chemin_fichier.exists()) # True si fichier ou répertoire existe
print(chemin_fichier.is_file()) # True si c'est un fichier régulier
print(chemin_fichier.is_dir()) # True si c'est un répertoire
Bonnes pratiques recommandées
- Importez toujours le module une seule fois ; évitez les imports répétitifs.
- Utilisez les objets
Pathpour les nouveaux projets pour bénéficier d'une syntaxe plus claire. - Lors d'opérations d'écriture, vérifiez l'existence d'abord pour éviter l'écrasement ou créez des répertoires avec
Path.mkdir(). - Gérez les exceptions
FileNotFoundErrorlors de l'accès à des chemins qui peuvent changer entre les vérifications et les opérations.
Référence rapide
| Fonction | Renvoie True Si |
|---|---|
os.path.exists() | Chemin ou répertoire existe |
os.path.isfile() | Chemin est un fichier régulier existant |
os.path.isdir() | Chemin est un répertoire existant |
pathlib.Path.exists() | Chemin ou répertoire existe (Python 3.4+) |
pathlib.Path.is_file() | Chemin est un fichier régulier existant |
pathlib.Path.is_dir() | Chemin est un répertoire existant |
Pour la documentation détaillée, référez-vous aux modules officiels os.path et pathlib.
Python
- Entrées/sorties de fichiers Python : maîtriser les opérations sur les fichiers
- Maîtriser les opérations sur les répertoires et fichiers en Python
- Récupérer la date et l'heure actuelles en Python : Guide pratique
- Vérifier et calibrer votre capteur d'humidité pour des mesures précises
- Fonction Python print() : Guide pratique avec exemples
- Python print sans saut de ligne : maîtriser le paramètre end et autres techniques
- Python JSON : encodage, décodage et gestion de fichiers – Guide pratique
- Calculer des Moyennes en Python : Guide Pratique
- Guide complet pour configurer votre environnement de développement Python