美文网首页我爱编程
关于urllib从python2向pyhon3迁移的问题

关于urllib从python2向pyhon3迁移的问题

作者: GeorgeV | 来源:发表于2018-04-12 13:39 被阅读0次

背景

最近在调用聚合数据的短信API接口,原有的代码是python2,目前我所使用的python全部都在3上(因为mysql接口已经迁移到3),所以稍微爬了一下代码,做了迁移工作

步骤

  1. 首先要将导入的库做变换
#Python2
import json, urllib
from urllib import urlencode
#迁移至python3
import json,urllib.request
from urllib.parse import urlencode

2.内部代码也要做些更改

#Python2
    params = urlencode(params)
    if m =="GET":
        f = urllib.urlopen("%s?%s" % (url, params)):
            f = url.read()
    else:
        f = urllib.urlopen(url, params):
            f = url.read()
    content = f.read()
    res = json.loads(content)


#迁移至python3
    params = urlencode(params)
    if m =="GET":
        with urllib.request.urlopen("%s?%s" % (url, params)) as url:
            f = url.read()
    else:
        with urllib.request.urlopen(url, params) as url:
            f = url.read()
    content=f
    res = json.loads(content)

参考文献:
https://techoverflow.net/2015/02/08/fixing-importerror-cannot-import-name-urlencode-in-python3/
https://stackoverflow.com/questions/3969726/attributeerror-module-object-has-no-attribute-urlopen

相关文章

网友评论

    本文标题:关于urllib从python2向pyhon3迁移的问题

    本文链接:https://www.haomeiwen.com/subject/esvxkftx.html