python2转换为python3

有个同学给了我一个python代码包,不知为啥在我的电脑上用py2.7跑不起来。决定自己把它改造为py3.6的代码:

 

坑1:

pip pip2 pip3:

在安装一些依赖时,使用哪个py的pip会决定你的依赖包安装在哪个版本的python上

 

坑2:

对于使用文件夹打包的__init__.py文件,

py2支持import processpool的写法( processpool是该文件夹下的子文件)

Py3不支持,必须写为:from . import processpool

 

坑3:

has_key()不再可用,需要替换为

if key in dict:

 

坑4: hmac_new函数参数变化

sign = hmac.new(secret,sign_str, digestmod=hashlib.sha1).digest().encode("hex")
改为
sign = hmac.new(secret.encode("utf-8"),sign_str.encode("utf-8"), digestmod=hashlib.sha1).hexdigest()

 

坑5:

except Error, e

需要改为 except Error as e:

 

坑6:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 21-23: ordinal not in range(128)
https://blog.csdn.net/th_num/article/details/80685389

需要加一个py文件的默认编码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值