python2 的代码在python3环境中运行常见报错及解决方式

本文总结了在Python2代码迁移到Python3环境中时可能遇到的问题,包括urllib2模块缺失、缩进错误、urlopen和urlencode属性变动,以及post数据类型不匹配等。解决方案包括使用urllib.request替代urllib2,确保正确缩进,使用urllib.parse.urlencode,以及对中文数据进行编码处理。

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

个人目前接触python还不是很久,也不是很深入。。。。

所以,只能总结下我遇到的坑。。(好多给忘了)。。以后会经常更新的。

1、no module named "urllib2"

    在3中urllib2和urllib.request合并了 所以将 urllib2改为urllib.request应该就能运行了。

2、TabError: Inconsistent use of tabs and spaces in indentation

    python要用tab完成缩进的,不能使用空格,否则会报错

3、module 'urllib' has no attribute 'urlopen'

    urlopen放到urllib.request中去了

4、modue 'rullib' has no attribute 'urlencode'

    改为urllib.parse.uelencode就可以了

5、post data should be bytes, an iterable of bytes, or a file object.it cannot be of type str

    造成此错误的是因为你的文件中使用了中文,如果是json格式的改为json.dumps().encode(encoding='UTF8')就行了

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值