|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Étudiant Inscription : janvier 2009 Messages : 86 ![]() |
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 |
|
|
10
|
|
|
#2 |
![]() ![]() Olivier GirardotDéveloppeur Java Inscription : mars 2010 Messages : 87 ![]() |
tout d'abord, bravo pour ton travail, je vais bien sûr y jeter un coup d'oeil
![]() Une petite suggestion quant à ton dépôt git : rajoute un fichier .gitignore avec *.pyc dedans, histoire de ne pas commiter tes fichiers de compilation. Une petite voie d'amélioration serait aussi de se conformer un peu plus à la PEP 8 sur le style de codage. Bonne journée à toi |
|
10
|
|
|
#3 | |
|
Membre confirmé
![]() Étudiant Inscription : janvier 2009 Messages : 86 ![]() |
Citation:
EDIT : Plusieurs corrections ont été faites et la recherche dans les sous-dossiers est désormais possible. |
|
|
|
10
|
|
|
#4 |
|
Membre confirmé
![]() Étudiant Inscription : janvier 2009 Messages : 86 ![]() |
Ne pouvant plus éditer mes anciens messages, je me permet d'ajouter un message au topic pour vous faire part des dernières modifications (j'envisage de proposer le programme dans les codes sources quand il sera plus avancé pour y indiquer mes modifications, évitant ainsi de polluer le forum).
J'ai orienté mon code pour qu'il puisse en y avoir plusieurs donc cela devrait prendre peu de temps. Ensuite, je compte m'assurer qu'il n'y a pas de meilleure façon de gérer plusieurs threads en python. Ma gestion se base en effet sur des fonctionnalités de python 2.5, et j'aimerais voir s'il n'y a pas des meilleures manières de procéder avec python 2.7 ou 3. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com