首先,我收到错误消息'UnicodeDecodeError:'charmap'编解码器无法解码字节0x81',当我检查文件夹中的新文件时,似乎数据已针对前三个文件进行了训练,并且错误爬到了第四个文件上我在第四个位置“ dsqlite3”和其他一些pickle文件中创建了。我怀疑由于在文件夹代码中创建了这些文件而导致了“ unicodedecodeerror”错误。 但是现在代码给出了另一个错误“ FileNotFoundError:[Errno 2]没有这样的文件或目录:'ai.yml'” 请分享您的见解。 '
我认为也许我在代码中犯了一个错误。
from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
import os
bot= ChatBot("Bot")
trainer = ListTrainer(bot)
for files in os.listdir(r"C:/Users/sachin/Desktop/Pythonfiles/Chatbot/chatterbot-corpus-master/chatterbot_corpus/data/english"):
data=open(files,"r").readlines()
trainer.train(data)
while True:
message=input('You :')
if message.strip()!= 'Bye':
reply=bot.get_response(message)
print('Chatbot',reply)
if message.strip()=='Bye':
print('ChatBot: Bye')
break
答案 0 :(得分:0)
您的代码无法解码其中一个文件,因为它不是采用unicode编码的。 0x81 is a control character in unicode。 Here是这类错误以及如何处理的好资源。
“找不到文件”错误是因为找不到该目录中的文件之一。您列出的文件不是这些文件的完整路径。您需要使用:
"C:/Users/sachin/Desktop/Pythonfiles/Chatbot/chatterbot-corpus-master/chatterbot_corpus/data/english/{}".format(files)
在您的公开通话中。