Salut à tous,
J’ai voulu me faire une version du générateur de texte par chaine de Markov du poste (https://zestedesavoir.com/forums/sujet/5039/janvier-2016-generation-automatique-de-texte/?page=1 ) et j’ai réussi à arriver à un résultat qui me satisfait .
Cependant j’ai un "bug" très bizzare : mon script marche parfaitement quand je l’ouvre avec IDLE mais quand j’execute le fichier .py j’ai une erreur :File "C:\Python34\lib\encodings\cp850.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2019' in position
30: character maps to <undefined>
Ci dessous mon script Python:
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 | # coding: utf-8 import markovify import os # Get raw text as string. with open("corpus.txt", encoding="utf-8") as f: text = f.read() # Build the model. text_model = markovify.Text(text) print("Bienvenue .") nb_para=1 nb_para=int(input("Combien voulez-vous de paragraphe ? : ")) # Print five randomly-generated sentences for i in range(nb_para): print(text_model.make_sentence()) print(text_model.make_sentence()) print(text_model.make_sentence()) print(text_model.make_sentence()) print(text_model.make_sentence()) print("\n") # Print three randomly-generated sentences of no more than 140 characters # for i in range(3): # print(text_model.make_short_sentence(140)) os.system("pause") |
Ca me semble être un problème d’encoding mais puisque j’ai spécifié l’encoding (UTF-8) je ne comprend pas bien le souci :s
Merci par avance à ceux qui pourront m’aider et bonne journée