Sommaire

Chercher des fichiers avec le module glob glob

Python propose plusieurs modules pour rechercher des fichiers dans le système de fichiers. Nous abordons ici le module glob. Quelle est l’origine de ce nom ? Il fait référence à un vieux programme UNIX utilisé pour trier un ou plusieurs fichiers en fonction d’expressions régulières. À cette époque, celles-ci étaient assez basiques, en voici quelques-unes :

  • Le caractère * capture n’importe quel caractère, y compris une chaîne de caractères vide une ou plusieurs fois.

  • Le caractère ? capture n’importe quel caractère une seule fois.

  • Le caractère ** exécute la recherche récursivement.

La recherche de caractères s’est depuis nettement améliorée grâce notamment aux expressions régulières PCRE (Perl Compatibles Regular Expressions) qui sont largement plus expressives et performantes. Néanmoins, même si les expressions régulières PCRE ont supplanté le globbing dans les programmes complexes, celui-ci est encore très largement utilisé dans le shell. En effet, lorsque vous tapez ce qui suit dans la console, vous utilisez sans le savoir le globbing : PCRE globbing

pi@raspberrypi ~/Developper_en_Python_sur_Raspberry_Pi/Chapitre_3 $ ls 
/etc/m*.conf 
/etc/make.conf  /etc/man_db.conf  /etc/mke2fs.conf  /etc/mlocate-cron.conf  
/etc/mpd.conf

Mais essayons d’obtenir ...