python2和python3版本更换踩过的坑

本文概述了从Python2升级到Python3的关键差异,包括print语法、cPickle模块更名、文件操作函数变化、编码处理更新等内容,旨在帮助开发者顺利过渡到Python3。

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


1、print python2中可以加括号也可以不加,但在python3中必须加括号print()
2、cPickle python2中为cPickle,在python3中改为pickle                model_params = pickle.load(open(model_path, 'rb')) 改为model_params = pickle.load(open(model_path, 'rb'),  encoding='iso-8859-1')
3、file() python2中可以使用file()读写文件,而在python中需要使用open()
4、reload(sys);sys.setdefaultencoding('utf-8')在python2中需要,python3中去掉  加入if sys.getdefaultencoding() != defaultencoding:;reload(sys)
;sys.setdefaultencoding(defaultencoding)
5、input() python3中返回会str,python2中返回为int,python2要返回str需要使用raw_input()
6、python2中是try:;Exception,e:  而python3中是try:;Exception as e:
7、编码问题  PYTHONIOENCODING="UTF-8" python  查看编码方式print(sys.stdout.encoding)
8、xrange改为range
9、dict.keys()改为list(dict.keys())

github地址:https://github.com/xiaoqian19940510/python-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值