关注各种黑科技
B站UP主,编程教学,游戏玩家,挂B,金牛座

python2 to python3迁移记录

这里记录一下,我在实际项目代码2to3的一些记录。   print语法  
print()  #3
print  # 2
IO缓冲区导入
from io import ByteIO # 3
from StringIO import StringIO # 2
判断是否为字符串
isinstance('balabala', basestring) #2
from builtins import str #3
isinstance('balabala', str)
  异常处理
try:
 # py3
except Exception as e:
 pass
try:
 # py2
except Exception, e:
 pass
    import 语法
from .config import xxx  #3
from config import xxx #2
  urllib相关  
import urllib #2
urllib.quote
import urllib.parse #3
urllib.parse.quote
  字符传参 python3入参基本为byte类型,需要encode转码 python3 中 str类型就是py2的 unicode  
rsa.sign(message.encode('utf-8'), private_key, SIGN_TYPE) #3
rsa.sign(message, private_key, SIGN_TYPE) #2
  py2
>>> b = u'我'.encode('utf8')
>>> b
'\xe6\x88\x91'
>>> b.decode('utf8')
u'\u6211'
>>> print b
我
>>> type('我')
<type 'str'>
>>> type(u'我')
<type 'unicode'>
  py3
>>> b = u'我'.encode('utf8')
>>> b
b'\xe6\x88\x91'
>>> b.decode('utf8')
'我'
>>> type('我')
<class 'str'>
>>> type(u'我')
<class 'str'>
转载请注明出处
分享到: 更多 (0)

评论 0