Recherche dans un dictionnaire.
From Tuxunix
Exemple
$ ./searchInDico.py dico.txt manger boire toto le mot 'manger' est present dans le dictionnaire 'dico.txt' :-) le mot 'boire' est present dans le dictionnaire 'dico.txt' :-) le mot 'toto' est pas present dans le dictionnaire 'dico.txt' :-(
Code
1.#! /usr/bin/python 2. 3.# 4.#@Name searchDico.py 5.#@Note Recherche des mots dans un dico 6.#@Author Tuxedo 7.#@Date 21/03/2008 8.#@Brief 9.#@Note 10.# 11. 12.import sys 13.import os.path 14. 15.#travail argument lit le fichier et mais tous dans une variable 16.def workArgs(): 17. if len(sys.argv) < 2: 18. print "Usage: "+ sys.argv[0] +" nom_du_dico mot1 mot2..." 19. else: 20. fic=sys.argv[1] 21. if os.path.isfile(fic): 22. f=open(fic) 23. data=f.read() 24. f.close() 25. outTabHash(data, fic) 26. else: 27. print "le premier argument (%s) est pas un fichier ou existe pas !"%(fic) 28. 29. 30.def outTabHash(data, fileName): 31. #separe les mots avec split 32. listeData=data.split() 33. #inserer dans table de hash (for) 34. tableHash={} 35. cpt=1 36. i=0 37. foundWord=0 38. for i in listeData: 39. if i == "": break 40. tableHash[i]=cpt 41. cpt=cpt+1 42. #test appartenance (has_key) 43. j=0 44. for j in range(len(sys.argv)): 45. if j == 0 or j == 1: continue 46. if tableHash.has_key(sys.argv[j]): 47. print "le mot "%s" est present dans le dictionnaire "%s" 48. :-)"%(sys.argv[j], fileName) 49. foundWord=foundWord+1 50. continue 51. else: 52. print "le mot "%s" est pas present dans le dictionnaire "%s" 53. :-)"%(sys.argv[j], fileName) 54. continue 55. if foundWord == 0: 56. print "Aucun mot trouve :-(" 57.# 58.#Main 59.# 60.workArgs()

