Fonction Python Glob() Pour Faire Correspondre le Chemin, le Répertoire, les Noms de fichiers avec des Exemples

glob est un terme général utilisé pour définir des techniques permettant de faire correspondre des modèles spécifiés selon des règles liées au shell Unix. Les systèmes et shells Linux et Unix prennent également en charge glob et fournissent également la fonction glob() dans les bibliothèques système. Dans ce tutoriel, nous allons examiner l’utilisation de la fonction glob() en langage de programmation Python.

Pour utiliser glob() et les fonctions associées, nous devons importer le module glob. Gardez à l’esprit que le module glob contient glob() et d’autres fonctions connexes.

import glob
Module Glob d’importation

Recherche de chaîne exacte

Nous allons commencer par un exemple simple. Nous verrons comment faire correspondre la chaîne exacte ou le nom de fichier avec un chemin absolu. Dans cet exemple, nous listerons le fichier /home/ismail/poftut.c. Nous pouvons voir l’exemple ci-dessous que la fonction renvoie une liste qui contient des correspondances.

glob.glob("/home/ismail/poftut.c")
Recherche de chaîne exacte

Wildcards

Le caractère générique est un opérateur glob important pour les opérations glob. Le caractère générique ou l’astérisque est utilisé pour faire correspondre zéro caractère ou plus. Le caractère générique spécifie qu’il peut y avoir zéro caractère ou plusieurs caractères lorsque le caractère n’est pas important. Dans cet exemple, nous allons faire correspondre les fichiers qui ont l’extension .txt.

glob.glob("/home/ismail/*.txt")
Caractères génériques

Comme nous pouvons le voir qu’il y a beaucoup de fichiers .txt qui retournent dans une liste Python.

Caractères génériques avec des répertoires multiniveaux

Nous pouvons utiliser des caractères génériques afin de spécifier des répertoires multiniveaux. Si nous voulons rechercher des répertoires d’un niveau vers le bas pour le glob spécifié, nous utiliserons /*/. Dans cet exemple, nous recherchons des fichiers .txt dans des répertoires de niveau inférieur dans /home/ismail. Ceci est également appelé « glob glob » car nous utilisons le nom de module glob et la fonction glob qui est fournie par le module glob.

glob.glob("/home/ismail/*/*.txt")
Caractères génériques avec des répertoires à plusieurs niveaux

Caractère générique

Il y a un point d’interrogation qui est utilisé pour faire correspondre un seul caractère. Cela peut être utile si nous ne connaissons pas de caractère unique pour le prénom. Dans cet exemple, nous allons faire correspondre les fichiers avec le fichier files file?.txt où ceux-ci correspondront au fichier

  • .fichier txt
  • 1.fichier txt
  • 5.txt
glob.glob("/home/ismail/file?.txt")

Plusieurs caractères

Glob prend également en charge les caractères alphabétiques et numériques. Nous pouvons utiliser pour terminer la plage de caractères. Nous pouvons mettre ce que nous voulons faire correspondre entre crochets. Dans cet exemple, nous allons faire correspondre les noms de fichiers et de dossiers à ceux de e,m,p.

glob.glob("/home/ismail/*.tx?")
Plages de caractères

Plages de nombres

Dans certains cas, nous pouvons vouloir faire correspondre la plage de nombres. Nous pouvons utiliser le tiret - pour spécifier les numéros de début et de fin. Dans cet exemple, nous allons faire correspondre 0 à 9 avec 0-9. Dans cet exemple, nous allons faire correspondre les noms de fichiers et de dossiers contenant des nombres de 0 à 9.

glob.glob("/home/ismail/**")
Plages de nombres

Plages d’alphabet

Nous pouvons également définir des plages d’alphabet similaires aux plages de nombres. nous utiliserons a-z pour les caractères minuscules où A-Z pour les caractères majuscules. Que faire si nous devons faire correspondre les caractères minuscules et majuscules dans une seule instruction. Nous pouvons utiliser a-Z pour faire correspondre les lettres minuscules et majuscules. Dans cet exemple, nous allons faire correspondre les noms de fichiers et de dossiers qui commencent par des lettres entre a et c

glob.glob("/home/ismail/*")
Plages d’alphabet

Générateur de retour avec iglob()Mehtod

Généralement la méthode glob est utilisée pour lister les fichiers pour les modèles spécifiés. Mais dans certains cas, les répertorier et les stocker peuvent être un travail fastidieux. Ainsi, la fonction iglob() peut être utilisée pour créer un itérateur qui peut être utilisé pour itérer les noms de fichiers avec la fonction next().

import glob
gen = glob.iglob("*.txt")
for item in gen:
print(item)
Générateur de retour avec iglob()Mehtod

Ignorer des caractères spécifiques avec la méthode escape()

escape() la fonction peut être utilisée pour ignorer ou ne pas répertorier certains fichiers dont les noms spécifient des caractères. Par exemple, si nous voulons ignorer les fichiers que ces noms contiennent - ou _ ou #, nous pouvons utiliser la fonction escape() en fournissant ces caractères.

chars_skip = "-_#"
for char_skip in chars_skip:
esc_set = "*" + glob.escape(char_skip)+ "*" + ".txt"
for txt in (glob.glob(esc_set)):
print(txt)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.