Salut,
J'aimerais pouvoir trouver le mot exacte dans un fichier .
Je trouve le mot en faisant la recherche, mais je n'ai pas seulement le résultat du mot exacte entré dans la fonction textEntry.
Voici le code:
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
def search(self, evt):
#nmf est nom de mon fichier
  nmf = 'dico.rob'
#db est un variable quelconque, don le nom de mon fichier et un paramètre r pour read 
  db = file(nmf,'r')
#Db.readlines pour lire tous les lignes. A ne pas oublier le s a la fin de line
  liste = db.readlines()
 
#Db.close veut dire fermer le fichier.
  db.close()
  n = wx.TextEntryDialog(self,"Entrez le mot ici","",style = wx.OK | wx.CANCEL | wx.CENTRE)
#afficher la fenêtre tant et aussi longtemps que l'on ne la fermera pas
  reponse = n.ShowModal()
#Récupération du text entré
  nn = n.GetValue()
  nn = nn.lower()
  if reponse != wx.ID_OK or n == "":
 
  #if (reponse != wx.ID_CANCEL) :
   winsound.PlaySound('test.wav', winsound.SND_NODEFAULT)
   return
  elif (len(nn) <= 2) : # pas de recherche pour moins de 3 lettres
   return
   #db.close()
 
 #recuperation du nombre en string
  for i in liste:
#On remplace la ligne encodelatin par celle-ci avec la nouvelle version de wx.
   if i.find(nn) <>-1:
 
   #if i.find(nn.encode("latin-1")) <> -1:
    winsound.PlaySound('wav/bing.wav', winsound.SND_NODEFAULT)
 
    n = wx.MessageDialog(self, "le résultat est:  "+i,"", wx.OK | wx.CANCEL | wx.CENTRE) 
    n.ShowModal()
    n.Destroy()