8 façons de vérifier si un fichier existe à l’aide de Python
La dépendance de Python vis-à-vis des fichiers externes est un aspect crucial, il est sage de faire attention aux fichiers de base/source avant d'exécuter tout code. Avant d'exécuter un programme particulier, vous devez vous assurer que vos fichiers source existent à l'emplacement spécifié.
Chaque développeur comprend la nécessité de créer des codes de secours, ce qui peut empêcher un programme d'échouer dans le cas où une condition n'est pas remplie. En Python, il existe plusieurs façons de vérifier si un fichier existe ; voici les meilleures méthodes que vous devriez connaître.
1. Try and Except Statements
L' instruction try et except vérifie une commande et produit une sortie. Dans le code ci-dessous, l'instruction try tentera d'ouvrir un fichier ( testfile.txt ). Si le processeur de Python est capable de localiser le fichier, il ouvrira le fichier et affichera le résultat Le fichier est ouvert et disponible pour utilisation .
try:
f = open('testfile.txt')
print("File is available for use")
f.close()
except IOError:
print('File is not accessible')

S'il rencontre une erreur, il imprimera le résultat Le fichier n'est pas accessible . Une fois le code complet compilé et exécuté, il fermera le fichier ouvert s'il a été ouvert.
La dépendance de Python vis-à-vis des fichiers externes est un aspect crucial et vous devez faire attention aux fichiers de base/source avant d'exécuter des codes.
Avant d'exécuter un programme particulier, assurez-vous que vos fichiers source existent à l'emplacement spécifique.
2. Os.path.isfile(chemin)
Python a un système d'exploitation de module intégré qui peut être appelé pour interagir avec les fichiers, dossiers et répertoires sous-jacents. La méthode os.path.isfile() de Python peut être utilisée pour vérifier un répertoire et si un fichier spécifique existe.
La première étape consiste à importer la fonction intégrée à l'aide de la bibliothèque import os.path . La commande suivante vérifie si le fichier existe à l'emplacement spécifique.
import os.path
os.path.isfile(r"C:UsersWini BhallaDesktopPython test file.txt")
.jpg)
La sortie renvoie True , car le fichier existe à l'emplacement spécifique. Si le fichier n'existe pas, Python renverra False .
3. Os.path.existe(chemin)
Pour des raisons similaires, l'instruction import os library peut être utilisée pour vérifier si le répertoire existe sur votre système.
La syntaxe est assez simple :
Import os.path
os.path.exists(r"C:UsersWini BhallaDesktoptest")
.jpg)
Tout comme à l'étape précédente, si le répertoire/dossier est trouvé sur le chemin système spécifié, Python renvoie True , et par la suite, False , si le répertoire/dossier n'est pas trouvé.
4. Os.Path.Isdir(chemin)
Tout comme os.path.isfile et os.path.exists() , os.path.isdir() est une sous-fonction de la bibliothèque os. La seule différence ici est que cette commande ne fonctionne que pour les répertoires. Comme prévu, l'utilisation de cette syntaxe renvoie une valeur booléenne basée sur l'existence de répertoires.
Par exemple:
import os
os.path.isdir(r"C:UsersWini BhallaDesktopOS")
La sortie est True , car le dossier/répertoire existe au chemin spécifié.
import os
os.path.isdir(r"C:UsersWini BhallaDesktoptestdirectory")
-1.jpg)
La sortie est False , car le dossier/répertoire n'existe pas au chemin spécifié.
5. Pathlib.path.exists()
Les versions Python 3.4 et supérieures proposent le module Pathlib , qui peut être importé à l'aide de la fonction d' importation . Pathlib capture les fonctionnalités nécessaires en un seul endroit et les rend disponibles via diverses méthodes à utiliser avec l'objet path.
Pour utiliser Pathlib :
import pathlib
file = pathlib.Path(r"C:UsersWini BhallaDesktopPython test file.txt")
if file.exists ():
print ("File exists")
else:
print ("File does not exist")

Selon l'existence du fichier, la sortie affichera si le fichier existe ou non dans le chemin spécifié. Idéalement, le code dans l'instruction print peut être modifié, selon les exigences de votre programme
6. Os.listdir(chemin)
La méthode listdir en Python renvoie une liste de tous les fichiers dans un répertoire spécifique, tel que spécifié par l'utilisateur. Cependant, cette méthode ne renverra aucun fichier existant dans les sous-dossiers.
La méthode listdir n'accepte qu'un seul paramètre, le chemin du fichier. Idéalement, le chemin du fichier sera les noms de fichiers et de dossiers que vous souhaitez récupérer.
La syntaxe de base comprend :
os.listdir(path)
Dans l'exemple ci-dessous, vous pouvez créer une boucle pour parcourir tous les fichiers répertoriés dans le répertoire, puis vérifier l'existence du fichier spécifié déclaré avec l'instruction if .
import os
path = r'C:UsersWini BhallaDesktop'
files = os.listdir(path)
print (files)
Ce code imprimera la liste des fichiers disponibles dans le répertoire courant.
import os
path = r'C:UsersWini BhallaDesktop' files = os.listdir(path)
for f in files:
if f == "test.txt":
print("File exists")
else:
print("File does not exist")
.jpg)
Plus loin, lorsque la boucle est exécutée, la fonction listdir ainsi que la logique de l'instruction if parcourent la liste des fichiers et impriment les résultats, en fonction des conditions transmises dans l'instruction print .
7. Module Glob
Le module glob fait correspondre tous les chemins avec les paramètres spécifiés et vous permet succinctement d'accéder au système de fichiers. Puisque glob est utilisé pour la correspondance de modèle, vous pouvez l'utiliser pour vérifier l'état d'un fichier.
Il y a deux références du chemin :
- Chemin absolu : utilisez-le lorsque vous souhaitez rechercher un fichier dans un autre répertoire.
- Chemin relatif : utilisez-le lorsque vous souhaitez rechercher un fichier dans le répertoire courant .
Si le fichier est trouvé, le code renverra True , sinon il renverra False .
Un exemple d'utilisation de Glob :
import glob
if glob.glob(r"C:UsersWini BhallaDesktoptest.txt"):
print ("File exist")
else:
print("File does not exist")

La sortie de ce code imprimera le résultat, si le fichier est trouvé.
8. Sous-processus
La commande test du module de sous-processus est un moyen efficace de tester l'existence de fichiers et de répertoires. Les commandes de test ne fonctionnent que sur les machines basées sur Unix et non sur les machines basées sur le système d'exploitation Windows.
Vous pouvez utiliser les commandes suivantes selon vos besoins :
- test -e : Vérifie l'existence d'un chemin
- test -f : Vérifie l'existence d'un fichier
- test-d : Vérifier l'existence d'un dossier
Vérification d'un chemin avec un sous-processus :
from subprocess import run
run(['test', '-e', 'testfile.txt']).returncode == 0
run(['test', '-e', 'im-not-here.txt']).returncode == 0
Ce code a appelé la fonction de test suivie de '-e' pour vérifier l'existence d'un chemin. La fonction affiche False pour un chemin invalide.
Vérification d'un fichier avec un sous-processus :
run(['test', '-f', 'testfile.txt']).returncode == 0
run(['test', '-f', 'testdirectory']).returncode == 0
La fonction '-f' teste l'existence d'un fichier et renvoie False pour un répertoire.
Vérification d'un répertoire avec sous-processus :
run(['test', '-d', 'testfile.txt']).returncode == 0
run(['test', '-d', 'testdirectory']).returncode == 0
La fonction '-d' teste l'existence d'un répertoire et renvoie False pour toute requête de fichier dans la commande de test.
Quelle commande utiliserez-vous pour localiser vos fichiers ?
Python est un langage relativement facile à utiliser, et il offre de nombreuses options aux utilisateurs finaux. Pour vérifier l'existence d'un ou plusieurs fichiers, vous pouvez utiliser l'une des procédures répertoriées ci-dessus.
Cependant, si vous êtes débutant, il existe toujours des moyens d'apprendre Python. Étant donné que Python est un langage vaste, il est préférable de passer un peu de temps à comprendre les différentes nuances et sa gamme de commandes.