Python3提示 No module named ‘urlparse’ 原因及解决方法

今天用Python3.7运行代码,结果提示以下错误:

from urlparse import urlparse

ModuleNotFoundError: No module named 'urlparse'

中文翻译

从 urlparse 导入 urlparse

ModuleNotFoundError: 没有名为“urlparse”的模块

ModuleNotFoundError: No module named 'urlparse'

 

原因:

python3版本中已经将urllib2、urlparse和robotparser并入了urllib模块中,并且修改urllib模块,其中包含5个子模块,即是help()中看到的那五个名字。如下:

urllib.error:ContentTooShortError、HTTPError、URLError

urllib.parse:parseqs、parseqsl、quote、quotefrombytes、quote_plus、unquote unquoteplus、unquoteto_bytes、urldefrag、 urlencode、urljoin、 urlparse、 urlsplit、 urlunparse、 urlunsplit

urllib.request:AbstractBasicAuthHandler、 AbstractDigestAuthHandler、 BaseHandler、 CatheFTPHandler、 FTPHandler、 FancyURLopener、FileHandler、HTTPBasicAuthHandler、 HTTPCookieProcessor、HTTPDefaultErrorHandler、 HTTPDigestAuthHandler、 HTTPErrorProcessorl、 HTTPHandler、HTTPPasswordMgr、 HTTPPasswordMgrWithDefaultRealm、 HTTPRedirectHandler、HTTPSHandler、OpenerDirector、ProxyBasicAuthHandler ProxyDigestAuthHandler、 ProxyHandler、 Request、URLopener、UnknowHandler、 buildopener、 getproxies、 installopener、 pathname2url、 url2pathname、 urlcleanup、 urlopen、 urlretrieve

urllib.response:addbase、addclosehook、addinfo、addinfourl

urllib.robotparser:RobotFileParser

 

解决方法

知道了原因,我们解决起来就容易多了,例如,可以参考下面这个示例来做修改。

只需要:

 

import urlparse
my_url = urlparse.urlparse(url)

改为

from urllib import parse
my_url = parse.urlparse(url)

 

由于我这里用的是python3.7版本以及代码需求,因此我只需要修改为:

from urllib.parse import urlparse

o = urlparse(connectString)

    A+
发布日期:2019年09月26日 12:16:14  所属分类:Python
最后更新时间:2021-07-07 12:07:43
付杰
  • ¥ 79.0元
  • 市场价:129.0元
  • ¥ 58元
  • 市场价:58元
  • ¥ 29.99元
  • 市场价:888元
  • ¥ 59.8元
  • 市场价:99.8元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: