Total Pageviews

Saturday 6 October 2012

超轻量级的基于python的webserver-CherryPy

CherryPy简单到什么程度呢?看看官方的Hello World吧:
import cherrypy

class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True

cherrypy.quickstart(HelloWorld())
相信你的眼睛,你没看错,6行!6行代码跑起http服务!就是这么方便!那么实际用起来又如何呢?我这里只需要几个需求:1.可get;2.可post;3.有日志机制足矣。这玩意儿全满足了。我语文不太好,就不多说了直接翻译官方的特色介绍:
  • 高速、http1.1兼容、标准WSGI线程池的Web服务
  • 很容易地一次跑多个http服务(例如跑在不同端口)
  • 拥有非常强大的配置系统便于开发和部署
  • 灵活的插件机制
  • 内置缓存、编码、sessions、授权验证、静态内容等等
  • 可交互(注:这里指的应该是自动重载更新过的文件这个机制)、自定义任何东西
  • 内置性能分析、coverage(注:其实是Python的一个模块)、调试模块
  • 可运行在Python 2.5以上(注:我在2.4跑目前没问题)、Python 3.1以上、Jpython和Android
官方的首页说的不是很清楚,我也刚接触几天,里面注释的地方可能有误,谨慎参考。我在码代码的时候还用到了日志、文件上传机制,里面还内置了模板,用这货做个网站目测没什么问题,问题就在性能了。不过我只是跑个小API,性能肯定没什么问题。