python3:AttributeError: module 'urllib' has no attribute 'quote'

python2 与python3版本不兼容的问题真是让人诟病,现在又报错了,我的错误信息为:

Traceback (most recent call last):
  File "/Users/eric/Documents/pythonFiles/aliyunxiaomi/chatwithxiaomi/chatwithali.py", line 22, in <module>
    canstring += '&' + percentEncode(k) + '=' + percentEncode(v)
  File "/Users/eric/Documents/pythonFiles/aliyunxiaomi/chatwithxiaomi/chatwithali.py", line 14, in percentEncode
    res = urllib.quote(str.decode(sys.stdin.encoding).encode('utf8'), '')
AttributeError: module 'urllib' has no attribute 'quote'

然后,查阅相关资料,我的修改为:

import urllib.parse
def percentEncode(str):
    res = urllib.parse.quote(str, '')
    res = res.replace('+', '%20')
    res = res.replace('*', '%2A')
    res = res.replace('%7E', '~')
    return res

这样就不包错误了。

参考文献

[1].Python: Importing urllib.quote.https://stackoverflow.com/questions/31827012/python-importing-urllib-quote
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

农民小飞侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值