如何使用用户输入更新我的词典并每次保存



我正在尝试构建自己的自学聊天机器人(不导入任何内容(,我面临的问题是:

如果用户提出了聊天机器人无法回答的问题,它会根据用户提出的问题更新词典。聊天机器人会向用户自己询问该问题的答案(以学习(,并存储答案。。

我用了这个方法-

dict_name[question]=answer

我发现了一个问题。在停止程序之前,如果我再次问这个问题,它会给我它学到的答案。

然而,如果我停止程序并重新运行它,然后问同样的问题,它仍然会问我答案(我在上一次运行中教的所有东西都会被遗忘(。

有什么方法可以让我的机器人记住我在上次运行中教给它的东西吗???

我建议您将字典保存在如下的pickle文件中:

dictionary_data = {"a": 1, "b": 2}
a_file = open("data.pkl", "wb")
pickle.dump(dictionary_data, a_file)
a_file.close()
a_file = open("data.pkl", "rb")
output = pickle.load(a_file)
print(output)

现在,您可以每次从文件加载字典,然后在关闭之前进行更新。

尽管您需要import pickle

另一种选择是在json中转储。这几乎是相同的方式,但在这种情况下,您也需要import json

重新运行相同的程序不会使我们进入相同的执行上下文。在退出之前,您应该已经将地图存储到文件或数据库中,并在每次启动时使用存储信息初始化地图。如果你正在考虑采用文件方法。。你可以在这里找到样品

相关内容

  • 没有找到相关文章

最新更新