Module Python Glob – Méthode Glob()

Ce tutoriel fournit un aperçu de la méthode Python glob() du module glob. Il inclut plusieurs exemples pour apporter de la clarté.

Usuellement, les programmeurs ont besoin de parcourir une liste de fichiers à un certain endroit, ayant pour la plupart un motif spécifique. Le module glob de Python possède plusieurs fonctions qui peuvent aider à lister les fichiers sous un dossier spécifié. Nous pouvons les filtrer en fonction des extensions, ou avec une chaîne de caractères particulière comme partie du nom de fichier.

Toutes les méthodes du module Glob suivent le mécanisme et les règles de correspondance de motif de style Unix. Cependant, il ne permet pas d’étendre le tilde (~) et les variables d’environnement.

Méthodes Python Glob()

Aujourd’hui, nous allons discuter de trois fonctions principales du module Glob.

glob(file_pattern, recursive = False)

Il récupère la liste des fichiers correspondant au motif spécifié dans le paramètre file_pattern.

Le file_pattern peut être un chemin absolu ou relatif. Il peut également contenir des caractères génériques tels que les symboles « * » ou  » ? ».

Le paramètre récursif est désactivé (False) par défaut. Lorsqu’il est True, il recherche récursivement les fichiers sous tous les sous-répertoires du répertoire actuel.

Vérifions maintenant quelques exemples:

Vérifier le répertoire actuel pour les fichiers de script Python

Le code ci-dessous vérifie les fichiers .py dans le dir actuel seulement.

>>> import glob>>> for py in glob.glob("*.py"):... print(py)...copy_file1.pycopy_file2.pydecimal_sample.py

Un autre exemple de code – Il vérifie les fichiers .py dans le répertoire courant et les sous-répertoires.

>>> import glob>>> for py in glob.glob("*.py"):... print(py)...copy_file1.pycopy_file2.pydecimal_sample.pytest_num.pytest_python_in_with_if.pytest_scope.py

Lister les fichiers avec un motif

Nous pouvons fournir un motif de nom de chemin en incluant certains jokers comme ? ou une plage numérique . Le code ci-dessous liste tous les fichiers dont le nom commence par « test » suivi d’un nombre.

>>> for py in glob.glob("test.py"):... print(py)...test1.pytest2.py

Vérifions un autre exemple en utilisant le point d’interrogation dans le motif.

>>> for py in glob.glob("?????.py"):... print(py)...quiz1.pytest1.pytest2.py

L’instruction de boucle for ci-dessus a imprimé tous les fichiers .py ayant cinq lettres.

L’instruction suivante imprimerait les noms des dossiers de manière récursive dans le répertoire de travail actuel.

>>> glob.glob('selenium/**/', recursive=True)

méthodeiglob() | Python Glob

Cette méthode crée un objet générateur Python qui peut être utilisé pour lister les fichiers sous un répertoire donné. Vous pouvez appeler la fonction next() pour imprimer les noms des fichiers.

Voyez l’exemple de code ci-dessous :

>>> gen = glob.iglob("*.py")>>> type(gen)<class 'generator'>>>> for py in gen:... print(py)...copy_file1.pycopy_file2.pydecimal_sample.pyfind_seed.pyfrozen_set.py

méthode escape()

Elle permet d’échapper la séquence de caractères donnée. Vous pouvez la trouver pratique pour localiser des fichiers avec certains caractères dans leurs noms de fichiers.

Voyez les exemples ci-dessous:

>>> char_seq = "-_#">>> for spcl_char in char_seq:... esc_set = "*" + glob.escape(spcl_char) + "*" + ".py"... for py in (glob.glob(esc_set)):... print(py)...python quiz-classes-2.pypython-class.pypython-lists.pypython-random#num.pypython-set.pypython-tuples.pypython-while_loop.pycopy_file#2.pydecimal_sample.pyfind_seed.pyfrozen-set.py

Voir aussi – Python pour lister tous les fichiers dans un répertoire

.

Laisser un commentaire

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