Maison > Article > développement back-end > Comment puis-je utiliser Python pour rechercher efficacement des fichiers dans plusieurs répertoires ?
La recherche de fichiers en Python peut être un défi lorsque l'emplacement du fichier varie selon les différents systèmes. Heureusement, Python fournit le module os.walk qui vous permet de parcourir les répertoires et de localiser les fichiers sans effort.
os.walk pour la recherche de fichiers
os.walk crée un générateur objet qui parcourt un répertoire et ses sous-répertoires, produisant trois tuples pour chaque itération :
Recherche d'un seul fichier
Pour trouver la première occurrence d'un fichier spécifique, parcourez simplement les tuples générés et vérifiez si le nom du fichier est dans la liste des fichiers :
<code class="python">import os def find(name, path): for root, dirs, files in os.walk(path): if name in files: return os.path.join(root, name)</code>
Recherche de toutes les occurrences d'un fichier
Pour rechercher toutes les occurrences d'un fichier, créez une liste pour stocker les correspondances :
<code class="python">def find_all(name, path): result = [] for root, dirs, files in os.walk(path): if name in files: result.append(os.path.join(root, name)) return result</code>
Modèles de fichiers correspondants
Pour rechercher des fichiers qui correspondent un modèle, utilisez le module fnmatch :
<code class="python">import os, fnmatch def find(pattern, path): result = [] for root, dirs, files in os.walk(path): for name in files: if fnmatch.fnmatch(name, pattern): result.append(os.path.join(root, name)) return result find('*.txt', '/path/to/dir')</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!