[python] cmd donne pas le resultat escompté

Fermé
steph70 - 23 sept. 2009 à 11:49
 steph70 - 24 sept. 2009 à 09:02
Bonjour à tous,

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()

1 réponse

Un petit up.

Pas d'idée quand a la source du problème ?

Merci d'avance pour votre aide
Amicalement
Steph70
0