Rechercher des fichiers à l'aide de Python
-
Rechercher un fichier avec la fonction
os.walk()
en Python -
Rechercher un fichier avec la fonction
glob.glob()
en Python -
Rechercher un fichier avec la fonction
Path.glob()
en Python
Ce tutoriel discutera des méthodes pour trouver un fichier en Python.
Rechercher un fichier avec la fonction os.walk()
en Python
Si nous voulons trouver le chemin d’un fichier spécifique sur notre machine avec python, nous pouvons utiliser le module os
. Le module os
fournit de nombreuses fonctionnalités liées à l’os à notre code. La fonction os.walk()
prend une chaîne path
comme paramètre d’entrée et nous donne le chemin du répertoire, le nom du répertoire et le nom de fichier pour chaque fichier dans le path
. L’exemple de code ci-dessous nous montre comment trouver un fichier en Python avec la fonction os.walk()
.
import os
def findfile(name, path):
for dirpath, dirname, filename in os.walk(path):
if name in filename:
return os.path.join(dirpath, name)
filepath = findfile("file2.txt", "/")
print(filepath)
Production :
/Users\maisa\Documents\PythonProjects\file2.txt
Dans le code ci-dessus, nous avons déclaré la fonction findfile()
qui utilise la fonction os.walk()
pour trouver notre fichier. La fonction findfile()
prend le nom du fichier et le chemin racine comme paramètres d’entrée et renvoie le chemin de notre fichier spécifié. Cette approche nous donne le chemin absolu du fichier.
Rechercher un fichier avec la fonction glob.glob()
en Python
Nous pouvons également utiliser la fonction glob.glob()
pour résoudre notre problème actuel. La fonction glob.glob()
prend un nom de chemin comme paramètre d’entrée et renvoie une liste de tous les chemins de fichiers qui correspondent à l’argument d’entrée. Nous pouvons spécifier une expression régulière comme paramètre d’entrée qui correspond uniquement à notre fichier. L’exemple de code ci-dessous nous montre comment trouver un fichier en Python avec la fonction glob.glob()
.
import glob
filepath = glob.glob("**/file.txt", recursive=True)
print(filepath)
Production :
['Find File\\file.txt']
Nous avons passé notre nom de fichier comme paramètre d’entrée à la fonction glob.glob()
, et elle a renvoyé le chemin relatif de notre fichier. Cette méthode peut nous donner le chemin relatif ainsi que le chemin absolu de notre fichier.
Rechercher un fichier avec la fonction Path.glob()
en Python
Une autre approche consiste à utiliser le module pathlib
. Ce module Python propose des classes qui représentent les chemins de système de fichiers pour différents systèmes d’exploitation. Nous pouvons utiliser la fonction Path.glob()
à l’intérieur du module pathlib
pour résoudre notre problème spécifique. Cette fonction est similaire à la fonction glob()
à l’intérieur du module glob()
. La fonction Path.glob()
prend un modèle comme paramètre d’entrée et renvoie une liste d’objets de chemin qui correspondent à l’argument d’entrée. L’extrait de code exemple nous montre comment trouver un fichier en Python avec le module pathlib
.
import pathlib
filepath = sorted(pathlib.Path(".").glob("**/file2.txt"))
print(filepath)
Production :
[WindowsPath('file2.txt')]
Nous avons passé une chaîne de modèle qui correspond à notre fichier à la fonction Path.glob()
. La fonction Path.glob()
nous renvoie une liste d’objets WindowsPath
qui correspondent au modèle. Avec cette méthode, nous obtenons des objets de chemin spécifiques à notre système d’exploitation.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedInArticle connexe - Python File
- Comment obtenir tous les fichiers d'un répertoire
- Comment ajouter du texte à un fichier en Python
- Comment vérifier si un fichier existe en Python
- Comment trouver des fichiers avec une certaine extension seulement en Python
- Comment lire des lignes spécifiques d'un fichier en Python
- Lire un fichier texte et imprimer son contenu en Python