首页 > 编程语言 > 详细

python的猴子补丁monkey patch

时间:2018-12-12 11:04:25      阅读:166      评论:0      收藏:0      [点我收藏+]

monkey patch指的是在运行时动态替换,一般是在startup的时候.

用过gevent就会知道,会在最开头的地方gevent.monkey.patch_all();把标准库中的thread/socket等给替换掉.这样我们在后面使用socket的时候可以跟平常一样使用,无需修改任何代码,但是它变成非阻塞的了.

一个比较实用的例子,很多代码用到 import json,后来发现ujson性能更高,如果觉得把每个文件的import json 改成 import ujson as json成本较高,或者说想测试一下用ujson替换json是否符合预期,只需要在入口加上:

1 import json 
2 import ujson 
3 
4 def monkey_patch_json(): 
5     json.__name__ = ujson 
6     json.dumps = ujson.dumps 
7     json.loads = ujson.loads 
8 
9 monkey_patch_json()

 

最后,注意不能单纯的json = ujson来替换.

python的猴子补丁monkey patch

原文:https://www.cnblogs.com/robert871126/p/10107127.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!