J'essaie de creer un script qui me permette de chercher un mot dans un fichier sans pour autant l'ouvrir.
Pour un résultat optimum, j'ai utilisé os.popen suivi de la commande dos find car celle ci est efficace et peu même fonctionner sur un répértoire complet.
Mon souci est que sur la commande dos, j'ai un résultat correct alors que si j'utilise la même commande depuis os.popen, mon résultat n'est correcte que sur du fichier txt.
Je viens donc vers vous pour avoir un coup de main sur le débug car je ne comprend pas que la commande en dur fonctionne alors qu'avec os.popen elle dysfonctionne.
Je vous remerçie par avance pour votre aide
lonewolf
from Tkinter import *
import tkFileDialog
import os
from ScrolledText import *
# 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)
def lire():
global fichier
fichier=ent1.get()
#print fichier
#print nom
a=os.popen("find /I /N \""+ fichier +"\" "+ nom)
b=a.read()
a.close()
print b
texte = ScrolledText(fen1, width = 75, height = 35, font = "Arial 10",
relief = "groove")
texte.pack()
#Ecriture des données
texte.config(state = NORMAL) #Permettre l'écriture
texte.insert("1.0", b) #Gestion de l'insertin des lignes
#1 = 1ere ligne 0 = 1er caractere de la ligne
texte.config(state = DISABLED) #Interdire les modifications
bou1=Button(fen1, text='Quitter',command=fen1.destroy)
bou1.pack()
#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()