在使用twilio发送短信的时候,官方文档是写支持2.6,但是在实际编写代码的过程中,发现对2.6的兼容并不是那么好,有些模块使用了只有2.7才识别的代码,于是着手对其进行兼容,修改源码不是什么好方法,在我们的代码中去做兼容。
第一类兼容是修改函数定义,把部分不兼容的语法修正,这种还好,import之后使用setattr直接定义新逻辑,当做到有一个函数时,duang的一下,语法错误。。。
def of(d):
return {k: v for k, v in iteritems(d) if v != unset}
2.6中会认为这样构造字典是语法不正确,import就挂了,也不能import之后再修改了,查了好旧,终于找到大神的回复,先自定义个module,吧这个函数所在的文件用符合当前环境的语法写好,然后用sys.modules指定路径
sys.modules['package.amodule']=__import__('your_module')
#做了上面的定义
#再form package import amodule就是使用的自己写的your_module中的内容了