
Python
文章平均质量分 84
Ethan_熠森张
这个作者很懒,什么都没留下…
展开
-
Python可调用对象__call__方法的用法分析
前言最近有许多朋友私信问我,Python的可调用对象到底有什么用处,为什么要费事的重载括号而不是直接绑定类的普通方法。下面就来为大家分享__call__可调用对象的一些感悟。精简代码,方便接口调用的“约定俗成”class route(object): def __init__(self, res) self.resource = res @clas原创 2013-03-07 10:53:16 · 8861 阅读 · 1 评论 -
Tornado生产骨架——mownfish介绍
曾经给大家介绍了许多优秀的开源项目,今天为大家介绍我的在githup上开源的一个tornado生产骨架——mownfish(https://github.com/Ethan-Zhang/mownfish),欢迎大家拍砖~Tornado是用python写的一个基于linux epoll的异步非阻塞IO实时框架,最早产生于FriendFeed,09年被Facebook收购并开源。这个框架被原创 2013-12-03 15:39:05 · 4746 阅读 · 0 评论 -
Tornado用回调代替gen
Tornado利用python的yield机制,用gen模块可以用同步的代码逻辑书写异步调用的代码。一般的,在程序开发过程中,方便的书写逻辑必然会带来运行上的额外开销。笔者的一个整合型爬虫服务设计大量的异步调用逻辑,出现HTTP超时的比例大概为1%,查看被调用的服务日志未出现超时,怀疑是gen的协程机制未有能使IOLoop的读时间及时响应。下面就将常见的两种异步调用场景从Tornado的gen原创 2013-12-23 18:01:18 · 4495 阅读 · 0 评论 -
python的一个编解码错误
python的一个编解码错误发表于2012/10/24由latlontude(1)出错的代码两者有什么区别呢?这里的字符串格式化默认是先把每个对象转换为unicode的 (这里是按照a,b的类型进行判断确认最终输出字符串的编码,如果a,b都没有显式声明为unicode,则最终转换的类型为编码为sys.getdefaultencoding()得到的字符集,否则如果a/b任意一个为转载 2014-06-17 14:33:43 · 9062 阅读 · 1 评论 -
多线程C调用python api的陷阱
众所周知,用脚本语言编写的服务(wsgi接口)都需要一个server容器,常见的如php的php-fpm, lightd等。python中一般是用的uwsgi,uwsgi是在wsgi的基础上的一种新的协议,可以用来部署python等脚本程序的运行。然而在不熟悉uwsgi的代码架构和c调用python的api情况下进行开发可能会遇到一些意想不到的问题。我们先看一段代码,下面这段代码是用的Flas原创 2015-01-06 11:45:42 · 4093 阅读 · 0 评论 -
Tornado多进程方式log切分错误的解决方案
tornado多进程log日志切分错误的解决方式原创 2013-11-18 16:34:43 · 6420 阅读 · 2 评论