Python持有网页活跃

时间:2012-05-16 16:20:45

标签: python web-services web

我正在尝试让一组python脚本将其状态报告给一组微控制器。

所以我的想法是让python脚本各自创建自己的网页,微控制器可以查看,但无论如何都要让脚本本身保持页面服务,即apache库,以便如果脚本崩溃或未运行页面未提供服务或者如果脚本未运行则使页面具有默认值。

2 个答案:

答案 0 :(得分:1)

您可以使用http://docs.python.org/library/simplehttpserver.html或某些最小的http服务器框架,例如http://flask.pocoo.org/http://www.cherrypy.org/

如果您想向微控制器提供“实时”信息,请查看comet style长轮询请求。您基本上一直在下载“页面”并将其作为数据流进行分析,同时服务器不断在“页面末尾”添加更新的信息。

答案 1 :(得分:1)

您还可以查看twisted.web

一个非常基本的例子:

from twisted.web.server     import Site
from twisted.web.resource   import Resource
from twisted.internet       import reactor

class StatusPageResource(Resource):
    isLeaf           = True

    def __init__(self, param1):
        self.param1 = param1
        # Call the constructor of the super class
        Resource.__init__(self)

    def render_GET(self, request):
        return "<html><body>%s</body></html>" % self.param1


my_res = Resource()
my_res.putChild('GetStatusPage1', StatusPageResource(param1='abc'))
my_res.putChild('GetStatusPage2', StatusPageResource(param1='xyz'))

factory = Site(my_res)
reactor.listenTCP(8080, factory)
print 'Runnning on port 8080'
reactor.run()

现在将您的浏览器指向http://localhost:8080/GetStatusPage1(例如)