Mon programme est simple, le voici:
**********************************************
def write_file(nomDuFichier,contenu):
fichier = open(nomDuFichier,"w" )
fichier.write(contenu)
fichier.close()
def load_mots(nomDuFichier):
fichier = open(nomDuFichier,"r" )
lignes=fichier.readlines()
fichier.close()
return lignes
def spliter(mots,output):
for i in range(0,len(mots),1):
mot=mots[i].split("\n" )[0]
write_file(output+"/"+mot+".txt",mot)
mots = load_mots("mots.txt" )
spliter(mots,"mots" ) # "mots" c'est le nom du dossier où les fichiers sont créer
***********************************************
Donc en gros, ça ouvre un fichier mots.txt contenant un mot (ou expression) par ligne
et ça crée un fichier par mot (nommée "le mot en question".txt et qui contient "le mot en question" )
Par exemple si j'ai dans mots.txt:
***********
laitue
fromage
des biscuits
patate
***********
Je vais obtenir 4 fichiers, soient:
laitue.txt (contenant laitue)
fromage.txt (contenant fromage)
des biscuits.txt (contenant des biscuits)
patate.txt (contenant patate)
Le programme fonctionne parfaitement SAUF dans certains cas très douteux comme si j'ai dans mots.txt:
************
laitue
à gauche
du poulet
à droite
étrange
************
j'obtient:
laitue.txt (contenant laitue)
à gauche.txt (contenant □□□□) <------------------------------POURQUOI???
du poulet.txt (contenant des du poulet)
à droite.txt (contenant à droite)
étrange.text (contenant étrange)
Je ne comprends pas, ce n'est pas un problème d'accent, les autres fonctionnent
Je ne comprend vraiment pas, même "à droite" fonctionnent
même le nom du fichier est correct
J'ai fait d'autre test et voici d'autre qui me donne des résultats semblables:
aaéaaa.txt contient □□□
aaéaaaa.txt contient aaéaaaa
aaéaaaaa.txt contient □□□□
aaéaaaaaa.txt contient aaéaaaaaa
aaéaaaaaaa.txt contient □□□□□
aaéaaaaaaaa.txt contient aaéaaaaaaaa
aaéaaaaaaaaatxt contient □□□□□□
(il me semble y avoir une régularité avec ceux qui sont pairs... mais c'est étrange)
Avez-vous une idée d'où provient ce bug
Merci