Comment utiliser le module glob de Python pour rechercher des fichiers par modèle
Le module glob
de Python est un outil puissant pour rechercher des fichiers et des répertoires correspondant à un modèle spécifié. Il est particulièrement utile lorsque vous devez rechercher des fichiers avec des extensions ou des noms spécifiques dans un répertoire. Cet article vous guidera dans l'utilisation du module glob
pour localiser efficacement des fichiers.
Introduction au module glob
Le module glob
permet de répertorier les fichiers et les répertoires à l'aide de caractères génériques de type shell Unix. Cela est utile pour des tâches telles que la recherche de fichiers, le traitement par lots, etc. Le module comprend des fonctions qui vous permettent de faire correspondre les noms de fichiers avec des modèles, ce qui facilite la gestion des fichiers.
Utilisation de base de glob
Pour utiliser le module glob
, vous devez l'importer, puis utiliser la fonction glob.glob()
pour rechercher les fichiers correspondant à un modèle. Les modèles que vous utilisez peuvent inclure des caractères génériques tels que *
(correspond à n'importe quel nombre de caractères) et ?
(correspond à un seul caractère).
Exemples
Recherche de fichiers avec une extension spécifique
Par exemple, pour trouver tous les fichiers avec l'extension .txt
dans un répertoire, vous pouvez utiliser:
import glob
# Find all .txt files in the current directory
txt_files = glob.glob('*.txt')
print(txt_files)
Recherche de fichiers dans un sous-répertoire
Pour rechercher tous les fichiers avec une extension spécifique dans un sous-répertoire, spécifiez le sous-répertoire dans le modèle:
import glob
# Find all .jpg files in the 'images' subdirectory
jpg_files = glob.glob('images/*.jpg')
print(jpg_files)
Utilisation des caractères génériques
Les caractères génériques peuvent vous aider à rechercher une plus large gamme de fichiers. Par exemple, pour rechercher tous les fichiers texte commençant par "report":
import glob
# Find all files starting with 'report' and ending with .txt
report_files = glob.glob('report*.txt')
print(report_files)
Recherche de fichiers avec plusieurs extensions
Vous pouvez également utiliser glob
pour rechercher des fichiers avec plusieurs extensions en utilisant un modèle qui inclut plusieurs correspondances génériques:
import glob
# Find all .txt and .md files
files = glob.glob('*.txt') + glob.glob('*.md')
print(files)
Utilisation avancée
En plus des modèles simples, le module glob
prend en charge des modèles plus complexes. Par exemple, vous pouvez utiliser des modèles tels que **
pour rechercher des répertoires de manière récursive.
Recherche récursive
Pour rechercher des fichiers de manière récursive dans tous les sous-répertoires, utilisez le modèle **
avec l'argument recursive=True
:
import glob
# Find all .py files in the current directory and subdirectories
py_files = glob.glob('**/*.py', recursive=True)
print(py_files)
Conclusion
Le module glob
est un outil essentiel pour la gestion des fichiers en Python, vous permettant de rechercher des fichiers à l'aide de modèles en toute simplicité. Que vous travailliez avec des types de fichiers spécifiques, que vous recherchiez dans des répertoires ou que vous effectuiez des recherches complexes, glob
fournit une solution simple et efficace.