wkenw
Messages postés19Date d'inscriptionmardi 30 septembre 2008StatutMembreDernière intervention 3 août 2009 12 oct. 2009 à 19:53
un autre avantage du os.walk(), c'est que ce sera portable, même si l'adaptation à unix ne coûte pas bien chère ici.
ShellBash
Messages postés1Date d'inscriptionmercredi 29 avril 2009StatutMembreDernière intervention12 octobre 2009 12 oct. 2009 à 19:42
Bonjour,
Bien tout ça.
Une petite confusion dans un commentaire et un titre de fenêtre : la fonction parcourir() permet la sélection d'un dossier ! (ce n'est pas cohérent entre le nom du bouton, le commentaire, et le nom de la fenêtre de recherche)
Sinon, plutôt que d'utiliser la commande find, tu peux :
- voir du côté de os.walk() qui te parcours une arborescence
- stocker dans une liste des tuples (chemin fichier, nom fichier, ligne) les occurrences trouvées dans les fichiers parcouru
Points positifs :
- ça t'évite de balancer la réponse dans un fichier pour le lire juste derrière
- tu as la maîtrise sur les données que tu veux, tu peux proposer ensuite de sauvegarder le résultat dans un fichier
- plus qu'un bouton pour sélectionné un répertoire puis os.walk() parcours l'arborescence et youpla !
- ça fait que plus de python :)
Point négatif :
tu te tapes l'ouverture d'un fichier et la recherche du mot a chaque fichier :
fichier=open(path_file,'r') #Ouverture du fichier
data=fichier.read() #Lecture du contenu du fichier
if data.count(mot_recherche): #Teste si la chaine est contenue dans le fichier
Propose peut-être une option pour sélectionner l'extension des fichiers à traiter (.doc, .txt, .py...)... ça allégera la boucle du walk()
C'est, bien sûr, entièrement discutable ! Et puis finalement, ce n'est peut-être pas mieux :p
SB.
lonewolfs
Messages postés51Date d'inscriptionsamedi 2 juin 2007StatutMembreDernière intervention17 octobre 2009 12 oct. 2009 à 16:11
Merci pour tes commentaires.
Evidemment, je vais faire un effort pour la conjugaison car il est vrai que je suis allé vite et que l'erreur etait enorme.
Et vais corriger. (dès que j'aurais trouvé l'edition)
Amicalement
wkenw
Messages postés19Date d'inscriptionmardi 30 septembre 2008StatutMembreDernière intervention 3 août 2009 12 oct. 2009 à 11:31
ah ouais, et puis les fautes de grammaire
C'est soit "choisissez", soit "choisir", pas "choisisser"
:-)
wkenw
Messages postés19Date d'inscriptionmardi 30 septembre 2008StatutMembreDernière intervention 3 août 2009 12 oct. 2009 à 11:30
script sympa, assez utile. C'est le genre de petit utilitaire que j'apprécie ^^
ça compense les petits bogues...
Sinon, c'est un peu dommage qu'on ne voit pas les lignes dans lesquelles le mot est présent quand on fait une recherche dans un dossier.
12 oct. 2009 à 19:53
12 oct. 2009 à 19:42
Bien tout ça.
Une petite confusion dans un commentaire et un titre de fenêtre : la fonction parcourir() permet la sélection d'un dossier ! (ce n'est pas cohérent entre le nom du bouton, le commentaire, et le nom de la fenêtre de recherche)
Sinon, plutôt que d'utiliser la commande find, tu peux :
- voir du côté de os.walk() qui te parcours une arborescence
- stocker dans une liste des tuples (chemin fichier, nom fichier, ligne) les occurrences trouvées dans les fichiers parcouru
Points positifs :
- ça t'évite de balancer la réponse dans un fichier pour le lire juste derrière
- tu as la maîtrise sur les données que tu veux, tu peux proposer ensuite de sauvegarder le résultat dans un fichier
- plus qu'un bouton pour sélectionné un répertoire puis os.walk() parcours l'arborescence et youpla !
- ça fait que plus de python :)
Point négatif :
tu te tapes l'ouverture d'un fichier et la recherche du mot a chaque fichier :
fichier=open(path_file,'r') #Ouverture du fichier
data=fichier.read() #Lecture du contenu du fichier
if data.count(mot_recherche): #Teste si la chaine est contenue dans le fichier
Propose peut-être une option pour sélectionner l'extension des fichiers à traiter (.doc, .txt, .py...)... ça allégera la boucle du walk()
C'est, bien sûr, entièrement discutable ! Et puis finalement, ce n'est peut-être pas mieux :p
SB.
12 oct. 2009 à 16:11
Evidemment, je vais faire un effort pour la conjugaison car il est vrai que je suis allé vite et que l'erreur etait enorme.
Et vais corriger. (dès que j'aurais trouvé l'edition)
Amicalement
12 oct. 2009 à 11:31
C'est soit "choisissez", soit "choisir", pas "choisisser"
:-)
12 oct. 2009 à 11:30
ça compense les petits bogues...
Sinon, c'est un peu dommage qu'on ne voit pas les lignes dans lesquelles le mot est présent quand on fait une recherche dans un dossier.