同一进程空间中一个module只会被运行一次.
下面是代码.
main.py
import json import ujson def monkey_patch_json(): json.__name__ = 'ujson' json.dumps = ujson.dumps json.loads = ujson.loads monkey_patch_json() print 'main.py',json.__name__ import subsub.py
import json print 'sub.py',json.__name__运行main.py,可以看到都是输出‘ujson‘,说明后面import的json是被patch了的.
最后,注意不能单纯的json = ujson来替换.
原文:http://blog.csdn.net/handsomekang/article/details/40297775