【问题标题】:PyAIML Sessions not workingPyAIML 会话不起作用
【发布时间】:2014-06-29 23:03:05
【问题描述】:

我想我在这里做错了什么,但是每当我尝试为聊天机器人插入 snippet to save session information 时,终端会立即关闭并出现错误。这是我的来源:

import aiml
k = aiml.Kernel()
#k.learn("std-startup.xml")
#k.respond("load aiml b")
#k.saveBrain("test.brn")
k.loadBrain("test.brn")
#while True: print k.respond(raw_input("> "))
keepAlive = True
while True: 
    output = k.respond(raw_input("> "))
    print output,
    session = k.getSessionData("Bob")
    sessionFile = file("Bob.ses", "wb")
    marshal.dump(session, sessionFile)
    sessionFile.close()  

【问题讨论】:

  • 完整的错误信息在哪里?

标签: python session aiml


【解决方案1】:

您可能需要使用k 代替Kernel

session = k.getSessionData("Bob")

【讨论】:

  • 代替session = Kernel.getSessionData("Bob")。但我只是猜测你需要aiml.
  • 我得到一个 NameError 说 'marshal' 没有定义(它不是;我只是通过网站上的例子)
  • 好的现在工作正常,但不保存会话数据(因为我只是关闭终端退出程序,我猜,它没有机会保存会话. 我应该把逗号移到循环的最后吗?或者当我输入“退出”之类的内容时,它会结束循环并保存文件然后关闭终端?
  • 逗号是什么意思?
  • 打印输出之后的那个
【解决方案2】:
print bot.respond(raw_input(">"), "Bob")

【讨论】:

    猜你喜欢
    • 2018-10-30
    • 2010-11-04
    • 2014-07-09
    • 2013-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多