Maison >développement back-end >Tutoriel Python >Comment utiliser le module glob pour la correspondance de modèles de fichiers dans Python 3.x

Comment utiliser le module glob pour la correspondance de modèles de fichiers dans Python 3.x

WBOY
WBOYoriginal
2023-07-30 13:41:581609parcourir

Comment utiliser le module glob pour la correspondance de modèles de fichiers dans Python 3.x

Introduction :
Dans le traitement de fichiers Python, il est souvent nécessaire de traiter par lots les fichiers dans un certain dossier. Si nous devons opérer sur tous les fichiers d’un dossier, nous devons utiliser la correspondance de modèles de fichiers. Python fournit le module glob, qui peut facilement gérer de tels besoins. Cet article présentera l'utilisation de base et les opérations courantes du module glob.

1. Introduction au module glob
Le module glob est un module de la bibliothèque standard Python. Il est utilisé pour rechercher les noms de fichiers qui correspondent à un modèle spécifique dans le système de fichiers et renvoyer les noms de fichiers correspondants sous la forme d'une liste. .

Dans le module glob, la méthode la plus couramment utilisée est la fonction glob(). Il peut accepter un chemin comme argument et renvoyer une liste de noms de fichiers correspondant au modèle. Ce modèle peut contenir des caractères génériques * et ?, qui représentent respectivement la correspondance de plusieurs caractères et la correspondance d'un seul caractère.

2. Utilisation de base
Ci-dessous, nous présentons l'utilisation de base du module glob à travers quelques exemples.

(1) Recherchez tous les fichiers Python dans le dossier actuel :

import glob

python_files = glob.glob("*.py")
print(python_files)

Le résultat de l'exécution peut être :

[' exemple .py', 'main.py', 'utils.py']

(2) Rechercher tous les fichiers dans le dossier spécifié :

import glob

all_files = glob.glob("/path/to/folder /* ")
print(all_files)

Le résultat d'exécution peut être :

['file1.txt', 'folder1', 'file2.txt']

3. L'utilisation de caractères génériques
Les caractères génériques peuvent être modifiés de manière flexible en fonction de l'opération de correspondance de situation réelle. Voici quelques situations courantes et méthodes d’utilisation.

(1) Faites correspondre n'importe quel nombre de caractères :
import glob

files = glob.glob("/path/to/folder/test")
print(files)

Le test dans cet exemple signifie Correspond aux noms de fichiers contenant le caractère de test.

(2) Correspond à un seul caractère :
import glob

files = glob.glob("/path/to/folder/?test.txt")
print(files)

?test.txt dans cet exemple signifie Correspond aux fichiers qui se terminent par test.txt et comportent un caractère devant le nom du fichier.

4. Recherche récursive
Le module glob fournit également la fonction de recherche récursive de sous-dossiers. La recherche récursive est possible en définissant le paramètre récursif sur True.

import glob

all_files = glob.glob("/path/to/folder/*/.py", recursive=True)
print(all_files)

Le résultat en cours d'exécution peut être :

['file1 .py', 'subfolder/file2.py', 'folder/file3.py']

V Résumé
Cet article présente l'utilisation de base du module glob pour la correspondance de modèles de fichiers dans Python 3.x. Grâce à la fonction glob.glob(), nous pouvons trouver les noms de fichiers correspondants en fonction d'un modèle spécifique et les renvoyer sous la forme d'une liste. Dans le même temps, les caractères génériques * et ? peuvent nous aider à faire correspondre les noms de fichiers avec plus de précision. La recherche récursive peut nous aider à effectuer des opérations de correspondance de fichiers dans les sous-dossiers.

J'espère que le contenu de cet article pourra aider les lecteurs à mieux comprendre et utiliser le module glob et à améliorer l'efficacité et la précision du traitement des fichiers. Dans le même temps, les lecteurs sont également invités à explorer d’autres fonctions et utilisations de ce module.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn