Bonjour tout le monde,
J'ai développé un petit programme en python (projet personnel) qui affiche des lignes de fichiers si elles correspondent à une expressions régulière spécifiée.
Le programme fonctionne en ligne de commande avec les options :
-d répertoire où chercher
-e expression régulière
-x extensions des fichiers où l'on doit chercher
-r recherche des sous-dossiers (non implémenté pour l'instant)
-v mode verbeux (non implémenté pour l'instant).
Voici le code source :
http://github.com/Louhike/RegularExp...nsInADirectory
Actuellement, le programme parcourt le dossier dans la fonction main et remplit une pile des noms de fichiers trouvés. Un processus vide peu à peu cette file et recherche les lignes où l'expression régulière est validée.
Un thread gère le log sur le même principe de file. Il se contente pour l'instant d'afficher les messages dans la console.
Ma prochaine étape est de gérer plusieurs processus vidant la file des fichiers.
Il y a sûrement des meilleures façons de procéder, si vous avez des suggestions, n'hésitez pas. Vous pouvez réutiliser le code comme bon vous semble (mais ce n'est qu'un début actuellement, donc il y a sûrement beaucoup d'améliorations à faire).
EDIT : J'ai amélioré la lisibilité du code en me conformant un peu plus au PEP8 selon les conseils de o.girardot.
J'ai aussi corrigé des petites bêtises qui faisaient que le programme ne se respectait pas ce que j’annonçais au niveau des fonctionnalités (même s'il marchait), suite à des oublis. Le thread du log n'était, par exemple, pas utilisé, les messages étant directement affichés dans la console par chaque thread (alors que la classe était en place et fonctionnelle ).
Partager