Python

Fonction Python Glob

Fonction Python Glob

Python est l'un des langages de programmation à usage général 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 modèles 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 rechercher des fichiers et des répertoires selon un modèle donné. Python fournit également un module glob intégré pour accéder ou récupérer des fichiers et des noms de chemin qui correspondent à un modèle spécifié. Nous utiliserons 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 chemins et des noms de fichiers selon un modèle donné.

Exemple 1 : Faire correspondre le nom de fichier ou le nom de chemin avec le chemin absolu

Regardons quelques exemples pour comprendre le fonctionnement et le fonctionnement de la fonction glob(). Nous allons commencer par un exemple simple de correspondance du nom de fichier ou du chemin avec le chemin absolu. Si le nom de fichier ou le chemin correspond au chemin absolu, la fonction glob() renvoie les correspondances sous la forme d'une liste ; sinon, la fonction glob() renvoie une liste vide.

#importation du module glob
importation globale
#utilisation de la fonction glob pour faire correspondre le nom de chemin avec le chemin absolu
#matching chemin absolu du répertoire de téléchargements
print(glob.glob("/home/linuxhint/Téléchargements"))
#matching chemin absolu du répertoire des documents
print(glob.glob("/home/linuxhint/Documents"))
#matching chemin absolu du bureau
print(glob.glob("/home/linuxhint/Desktop"))
#matching chemin absolu des fichiers
print(glob.glob("/home/linuxhint/Desktop/script.sh"))
print(glob.glob("/home/linuxhint/Téléchargements/format.py"))
print(glob.glob("/home/linuxhint/Documents/calculatrice.py"))
#spécifier le chemin du fichier qui n'existe pas
#la fonction glob renverra la liste vide
print(glob.glob("/home/linuxhint/Documents/monfichier.py"))

Production

La sortie affiche les correspondances.

Exemple 2 : Utilisation de caractères génériques pour la récupération de chemin

Il est possible d'utiliser des caractères génériques avec la fonction glob() pour la récupération de chemin. Les caractères génériques les plus couramment utilisés sont l'astérisque (*), le point d'interrogation (?), plage de nombres [0-9] et plage d'alphabets [a-z].  Tout d'abord, nous allons discuter de l'utilisation de l'astérisque dans la fonction glob().

Utilisation d'un caractère générique astérisque (*) pour la récupération de chemin

L'opérateur de caractère générique astérisque est utilisé pour faire correspondre zéro ou plusieurs caractères du chemin absolu. Si aucun caractère n'est spécifié avec l'astérisque, 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 cela correspondra au chemin absolu basé sur les caractères donnés. Par exemple, si vous avez besoin de trouver le chemin absolu de .txt, alors * le caractère générique peut être utilisé comme *.SMS.

Nous allons implémenter cela dans notre script Python.

#importation du module glob
importation globale
#trouver le chemin absolu des fichiers et répertoires
print(glob.glob("/home/linuxhint/Téléchargements/*"))
imprimer("----------------------------------------")
#trouver le chemin absolu du .txt dans le répertoire Desktop
print(glob.glob("/home/linuxhint/Bureau/*.SMS"))
imprimer("----------------------------------------")
#trouver le chemin absolu du .sh dans le répertoire Desktop
print(glob.glob("/home/linuxhint/Bureau/*.sh"))
imprimer("----------------------------------------")
#trouver le chemin absolu du .py dans le répertoire Documents
print(glob.glob("/home/linuxhint/Documents/*.py"))
imprimer("----------------------------------------")

Production

La sortie affiche le chemin absolu des fichiers et des répertoires selon les règles définies dans la fonction globe().

Utiliser un point d'interrogation (?) Opérateur générique

Le point d'interrogation (?) l'opérateur générique est utilisé pour faire correspondre un seul caractère. Cela peut être utile dans les situations où vous n'êtes pas au courant d'un seul caractère dans le nom donné.

Nous allons implémenter cela dans notre script Python.

#importation du module glob
importation globale
#trouver le fichier avec l'opérateur générique *
print(glob.glob("/home/linuxhint/Desktop/file?.SMS"))

Production

La sortie affiche les fichiers correspondants.

Utilisation d'un opérateur générique de plage

L'opérateur générique 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 entre crochets [].

On va retrouver le chemin absolu des fichiers en définissant la plage.

#importation du module glob
importation globale
#trouver le chemin absolu des fichiers dans une plage donnée
#définir la plage en caractères
print(glob.glob("/home/linuxhint/Desktop/[a-f]*"))
#impression de la ligne pointillée pour différencier la sortie
imprimer("------------------------------------------")
#définir la plage en nombres
print(glob.glob("/home/linuxhint/Desktop/[1-5]*"))

Production

Rechercher des fichiers de manière récursive à l'aide de glob()

La fonction glob prend deux paramètres en argument. Le premier paramètre définit le chemin d'accès et le deuxième 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 sur « false » par défaut. Cependant, vous pouvez définir la propriété récursive sur « 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 du module glob
importation globale
#trouver les fichiers de manière récursive
print(glob.glob("/home/linuxhint/Documents/*",recursive=True))

Production

Conclusion

Glob est un terme courant qui fait référence aux techniques utilisées pour faire correspondre des modèles particuliers selon les 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 chemins avec divers exemples.

Top 5 des produits de souris d'ordinateur ergonomiques pour Linux
L'utilisation prolongée de l'ordinateur provoque-t-elle des douleurs au poignet ou aux doigts? Vous souffrez de raideurs articulaires et devez constam...
Comment modifier les paramètres de la souris et du pavé tactile à l'aide de Xinput sous Linux
La plupart des distributions Linux sont livrées avec la bibliothèque "libinput" par défaut pour gérer les événements d'entrée sur un système. Il peut ...
Remappez les boutons de votre souris différemment pour différents logiciels avec X-Mouse Button Control
Peut-être que vous avez besoin d'un outil qui pourrait faire changer le contrôle de votre souris avec chaque application que vous utilisez. Si tel est...