初探CherryPy
最近有个需求,用python写一个尽可能最简单的web服务。在Tydus大神指点下选择了Tornado,不过一看介绍也太强大了,我只需要小东西丫。然后在某个网站(链接丢了忘记加书签Orz)看到Tornado和各主流python框架的性能对比,发现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以上、Python 3.1以上、Jpython和Android
官方的首页说的不是很清楚,我也刚接触几天,里面注释的地方可能有误,谨慎参考。我在码代码的时候还用到了日志、文件上传机制,里面还内置了模板,用这货做个网站目测没什么问题,问题就在性能了。不过我只是跑个小API,性能肯定没什么问题。
初探CherryPy 没有评论