在为chatbot运行以下代码时出现错误“找不到文件”和unicode错误

时间:2019-07-10 16:54:45

标签: python-3.x chatbot

首先,我收到错误消息'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

1 个答案:

答案 0 :(得分:0)

您的代码无法解码其中一个文件,因为它不是采用unicode编码的。 0x81 is a control character in unicodeHere是这类错误以及如何处理的好资源。

“找不到文件”错误是因为找不到该目录中的文件之一。您列出的文件不是这些文件的完整路径。您需要使用:

"C:/Users/sachin/Desktop/Pythonfiles/Chatbot/chatterbot-corpus-master/chatterbot_corpus/data/english/{}".format(files)

在您的公开通话中。