Python2到Python3升级过程中需要注意的一些点

本文详述了从Python2升级至Python3的关键变化,包括print语句、除法运算、字符集处理、相对导入规则及dict迭代方法的调整。针对Python3默认的Unicode编码特性,介绍了无需额外设置编码及decode操作的便利。同时,提醒开发者注意urllib、ConfigParser等模块的更新,以及pickle模块在不同Python版本间的数据兼容性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. print格式的变化,如:print ‘a’, -> print (‘a’, end=’ ')
  2. re.compile(ur’’’…’’’) -> re.compile(r’’’…’’’)
  3. 字符集的变化,Python3默认字符集unicode,Python2是ascii编码,所以Python3中需要去掉reload(sys); sys.setdefaultencoding('utf-8') ;等代码
  4. u’a’ -> ‘a’
  5. /除法变为浮点数除法,如5/4在Python2中结果为1,但在Python3中结果为1.25
  6. 因为在Python3中默认为unicode编码,所以无需对普通字符进行decode(‘utf-8’)操作
  7. 相对导入问题,这个在包导入中详细阐述,注意相对导入模块不能直接执行,需要执行python -ma.b.c(a.b.c是包路径,包的路径要涉及调用的最上层)
  8. 隐式相对导入废弃(import sys此类直接import只能导入sys.path中的模块)
  9. dict.iteritems方法在Python3中已被删除,使用此方法的地方需另做处理
  10. 一些调用包的修改 一些调用包的修改
    from functools import reduce
    urllib2 -> urllib
    import ConfigParser -> pip install configparser; from configparser import ConfigParser
    pickle中python2 dump的内容不能被python3 load . filehandle = open(WAV_FILE, ‘wb+’)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值