Python: Effectuer une recherche textuelle dans des fichiers textes

Il suffit de quelques lignes Python pour faire une recherche textuelle dans des fichiers textes.

A l'aide des deux modules pathlib et re, vous allez voir comme c'est simple.

Voici un exemple qui permet de rechercher une portion de code dans des fichiers JAVA.

>>> from pathlib import Path
>>> import re
>>> D = Path(r'C:\Users\ronan\javasrc')
>>> R = re.compile('public double .+;')
>>> for F in D.rglob('*.java'):
    if R.search(F.read_text()):
        print(F)

Et voilà, à chaque fois que la chaine recherchée est trouvée dans le contenu du fichier, son nom est affiché dans la console.

infoPour rappel, la fonction rglob de la classe Path du module pathlib permet d'effectuer une recherche récursive dans le dossier concerné.
La classe Path du module pathlib permet de lire le contenu des fichiers très simplement à l'aide de la fonction read_text.

Etiquettes: