Python脚本在HTML su上打印结果

2024-05-15 22:22:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Python编写了一个非常简单的聊天机器人。 它的工作原理类似于,如果您在中编写一些内容,它将执行基于Python的计算并返回答案。因为它也检查您以前的答案,所以python脚本需要连续运行。 我想把聊天机器人放到网上,然后:

  1. 将HTML表面的输入作为原始输入的源发送回服务器()
  2. 然后将Python输出作为答案发送回前端,并作为HTML浏览器中聊天记录的换行符。你知道吗

我的Python代码是:

def conversation(question):
     answer = #... ... ...(doesnt matter right now)

     print "CHATBOT: " + answer
     next_question = raw_input("YOU: ")
     return next_question

#==========================
#INTRO & CALLING FUNTCTIONS
#==========================
print "Hi, my name is CHATBOT!"

#Starts with user input.
question = ""
question = raw_input("You: ")

#calling the conversation function
question = conversation(question)

问题是:如何将Python脚本与我的网站连接起来?用户如何像我在终端上那样从网站上与我的脚本交互?你知道吗

我很确定这很容易,但我不知道从哪里开始。。。 谢谢!你知道吗


Tags: 答案answer脚本内容inputraw网站html
2条回答

不错的聊天机器人应用程序!诀窍是保持流控制和功能分离。你知道吗

所以我做了两个小调整:

  1. 我从conversation获取流控制,但它在main

  2. 我将conversation中的print语句更改为return语句,因为如果可以的话,您还希望将打印到屏幕和逻辑函数分开:)

除此之外,还有一个好的开始!w型

def conversation(question):
 answer = #... ... ...(doesnt matter right now)
 return "CHATBOT: " + answer

def main():
    while True:
        next_question = raw_input("YOU: ")
        print(conversation(next_question))

#==========================
#INTRO & CALLING FUNTCTIONS
#==========================

print "Hi, my name is CHATBOT!"
main()

你需要某种服务器。例如,您可以使用WebSockets或HTTP。你知道吗

对于WebSockets,有类似于Autobahn的Python解决方案。记住状态,这对你想做的事情有好处。那可能是你应该用的。你知道吗

对于HTTP,一个简单的Python解决方案是Bottle。你知道吗

from bottle import route, run, template
@route('/hello/<name>')
def index(name):
    return template('<b>Hello {{name}}</b>!', name=name)
run(host='localhost', port=8080)

但是HTTP是无状态的,所以你不记得上次的连接了。你需要一种方法,通过为每个用户创建一个cookie/会话来记住该特定用户的聊天记录。你知道吗

此外,您还需要将其连接到Nginx这样的web服务器。你知道吗

相关问题 更多 >