Bonjour,

j'ai mis en place un petit script qui permet de faire une recherche sur un mot dans un fichier donné.

Il me reste deux soucis : premièrement, je voudrais pouvoir dans ma fonction parcourir prendre un dossier complet au lieu d'un seul fichier pour que ma commande puisse faire par exemple : rechercher mot dans *.*

Mon deuxième souci est l'affichage des résultats. Par une fonction print ça fonctionne mais sur une console alors que le reste de mon script est en graphique. De plus, je cherche a afficher le numéro de ligne.

Je fais donc appel à votre aide et vous remercie par avance.

Steph70

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from Tkinter import *
import tkFileDialog
 
# definition du fichier a traiter   
def parcourir(): 
    folder = tkFileDialog.askopenfilename(parent=fen1,initialdir="/",title='Choisissez le fichier ') 
    global nom
    nom = folder
    fen1.bind('<Return>', lire)
 
# définition du mot a chercher 
def lire():
    global mot
    mot=ent1.get()
    print mot
    print nom
    search = open(nom,"r")
    for ligne in search:
        if mot in ligne:
            print ligne
    search.close()
 
#fenêtre principale    
fen1=Tk()
text1=Label(fen1, text='Entrer le mot recherché', fg='red')
text1.grid(column = 0,row=0)
ent1=Entry(fen1)
ent1.grid(column=1,row=0)
text2=Button(fen1, text='Choisisser le dossier ou fichier', command=parcourir)
text2.grid(column=2,row=0)
bou2=Button(fen1,text='Lecture',command=lire)
bou2.grid(column=0,row=2 )
bou1=Button(fen1, text='Quitter',command=fen1.destroy)
bou1.grid(column=0,row=3)
 
#Lancement du programme
fen1.mainloop()