Python3中导入urllib.request的Request模块失败问题咨询
解决无法从urllib.request导入Request的问题
嘿,我来帮你理清楚这个问题——你用Python3跑代码时碰到了from urllib.request import Request的导入错误,但奇怪的是urllib.request明明是Python3专属的模块,Python2里根本没有这个东西。不过你提到从模块文档顶部找到了思路,那我给你把解决方式说透:
先搞清楚核心差异:Python2里的请求类都在
urllib2模块里,写法是from urllib2 import Request;而Python3对urllib库做了重构,把urllib和urllib2的功能整合到了urllib.request、urllib.parse这些子模块里,所以Python3里正确的导入写法是from urllib.request import Request。你说找到的解决办法是改用
urllib2模块,这大概率是因为你运行的代码原本是为Python2写的?如果是这种情况,有两个简单的处理方式:- 适配Python3:把代码里的
urllib2相关导入替换成兼容写法,比如把import urllib2改成import urllib.request as urllib2,这样原有代码里的urllib2.Request调用就能在Python3里正常运行了 - 切换运行环境:如果环境允许,直接用Python2来运行这份原本适配它的代码
- 适配Python3:把代码里的
小提示:如果是新写代码,推荐直接用Python3的
urllib.request模块,毕竟Python2已经停止维护啦。
内容的提问来源于stack exchange,提问作者zero
相关产品推荐
相关产品推荐

