Python est l’un des langages de programmation polyvalents les plus utilisés ces derniers temps. Il fournit de nombreux modules, fonctions et mots-clés intégrés pour effectuer des tâches liées aux fichiers. Un glob est un terme qui fait référence aux techniques utilisées pour faire correspondre des motifs particuliers selon les règles liées au shell UNIX. Les systèmes d’exploitation basés sur Linux et UNIX fournissent la fonction glob() pour trouver des fichiers et des répertoires en fonction d’un motif donné. Python fournit également un module glob intégré permettant d’accéder ou de récupérer des fichiers et des noms de chemin correspondant à un modèle spécifié. Nous allons utiliser la fonction Python glob() du module glob pour les tâches décrites dans cet article. Cet article explique comment utiliser la fonction glob() pour trouver des noms de chemin et des noms de fichiers en fonction d’un motif donné.
- Exemple 1 : Faire correspondre un nom de fichier ou un nom de chemin avec un chemin absolu
- Exemple 2 : Utilisation de caractères génériques pour la recherche de chemins
- Utilisation d’un joker astérisque (*) pour la recherche de chemin
- Utilisation d’un point d’interrogation ( ?) Opérateur générique
- Utilisation d’un opérateur joker de plage
- Recherche de fichiers de manière récursive en utilisant glob()
- Conclusion
Exemple 1 : Faire correspondre un nom de fichier ou un nom de chemin avec un chemin absolu
Regardons quelques exemples pour comprendre le fonctionnement et l’action de la fonction glob(). Nous allons commencer par un exemple simple de correspondance du nom de fichier ou du nom de chemin avec le chemin absolu. Si le nom de fichier ou le nom de chemin correspond au chemin absolu, alors la fonction glob() renvoie les correspondances sous la forme d’une liste ; sinon, la fonction glob() renvoie une liste vide.
import glob
#utilisation de la fonction glob pour faire correspondre le nom de chemin avec le chemin absolu
#correspondance du chemin absolu du répertoire des téléchargements
print(glob.glob(“/home/linuxhint/Downloads”))
#correspondance du chemin absolu du répertoire des documents
print(glob.glob(“/home/linuxhint/Documents”))
#matching absolute path of Desktop
print(glob.glob(“/home/linuxhint/Desktop”))
#matching absolute path of files
print(glob.glob(“/home/linuxhint/Desktop/script.sh”))
print(glob.glob(“/home/linuxhint/Downloads/format.py”))
print(glob.glob(“/home/linuxhint/Documents/calculator.py”))
#spécifiant le chemin d’un fichier qui n’existe pas
#la fonction glob retournera la liste vide
print(glob.glob(“/home/linuxhint/Documents/myfile.py”)).
Sortie
La sortie montre les correspondances.
Exemple 2 : Utilisation de caractères génériques pour la recherche de chemins
Il est possible d’utiliser des caractères génériques avec la fonction glob() pour la recherche de chemins. Les caractères génériques les plus couramment utilisés sont l’astérisque (*), le point d’interrogation ( ?), la plage de chiffres et la plage d’alphabets. Tout d’abord, nous allons discuter de l’utilisation de l’astérisque dans la fonction glob().
Utilisation d’un joker astérisque (*) pour la recherche de chemin
L’opérateur de joker astérisque est utilisé pour correspondre à zéro ou plusieurs caractères du chemin absolu. Si aucun caractère n’est spécifié avec l’astérisque, alors la fonction listera le chemin absolu de tous les fichiers, répertoires et sous-répertoires du chemin donné. Vous pouvez également écrire certains caractères avec l’astérisque et la fonction fera correspondre le chemin absolu en fonction des caractères donnés. Par exemple, si vous avez besoin de trouver le chemin absolu des fichiers .txt, alors le caractère générique * peut être utilisé comme *.txt.
Nous allons implémenter ceci dans notre script Python.
importation de glob
#trouver le chemin absolu des fichiers et des répertoires
print(glob.glob(“/home/linuxhint/Downloads/*”))
print(“—————————————-“)
#trouver le chemin absolu des fichiers .txt dans le répertoire Desktop
print(glob.glob(“/home/linuxhint/Desktop/*.txt”))
print(“—————————————-“)
#trouver le chemin absolu des fichiers .sh dans le répertoire Desktop
print(glob.glob(“/home/linuxhint/Desktop/*.sh”))
print(“—————————————-“)
#trouver le chemin absolu des fichiers .py dans le répertoire Documents
print(glob.glob(“/home/linuxhint/Documents/*.py”))
print(“—————————————-“)
Sortie
La sortie montre le chemin absolu des fichiers et des répertoires selon les règles définies dans la fonction globe().
Utilisation d’un point d’interrogation ( ?) Opérateur générique
L’opérateur générique point d’interrogation ( ?) est utilisé pour correspondre à un seul caractère. Cela peut être utile dans les situations où vous ne connaissez pas un seul caractère dans le nom donné.
Nous allons implémenter cela dans notre script Python.
import glob
#trouver le fichier avec l’opérateur joker *
print(glob.glob(“/home/linuxhint/Desktop/file ?.txt”)).
Sortie
La sortie montre les fichiers appariés.
Utilisation d’un opérateur joker de plage
L’opérateur joker de plage est utilisé pour faire correspondre des fichiers dans une plage donnée de caractères ou de nombres. La plage est définie à l’intérieur des crochets .
Nous allons trouver le chemin absolu des fichiers en définissant la plage.
import glob
#trouver le chemin absolu des fichiers dans une plage donnée
#définir la plage en caractères
print(glob.glob(“/home/linuxhint/Desktop/*”))
#imprimer la ligne pointillée pour différencier la sortie
print(“——————————————“)
#définir la plage en chiffres
print(glob.glob(“/home/linuxhint/Desktop/*”)).
Sortie
Recherche de fichiers de manière récursive en utilisant glob()
La fonction glob prend deux paramètres en argument. Le premier paramètre définit le nom de chemin, et le second paramètre définit la propriété récursive. Le deuxième paramètre est facultatif, et la propriété récursive est définie à “false” par défaut. Cependant, vous pouvez définir la propriété récursive à “true” pour trouver le chemin du fichier de manière récursive.
Nous allons définir la propriété récursive égale à “true” dans notre script Python et trouver le chemin absolu des fichiers de manière récursive.
importation de glob
#trouver les fichiers de manière récursive
print(glob.glob(“/home/linuxhint/Documents/*”,recursive=True)).
Sortie
Conclusion
Le glob est un terme commun qui fait référence aux techniques utilisées pour faire correspondre des motifs particuliers selon des règles liées au shell UNIX. Python fournit un module et une fonction glob intégrés pour accéder aux noms de chemin selon des règles données. Cet article explique comment utiliser la fonction glob() pour trouver des noms de chemin avec divers exemples.