解决python 3 urllib 没有 urlencode 属性的问题


Posted in Python onAugust 22, 2019

今天在pycharm(我用的python3)练习的时候,发现报了个AttributeError: module 'urllib' has no attribute 'urlencode'的错误。后来发现python2和python3的urllib结构不一样。

下面我用pycharm中python3演示一下:

错误例子:

import urllib
import urllib.parse
wd = {"wd":"传智播客"}
print(urllib.urlencode(wd))

结果:

C:\Users\DELL\AppData\Local\Programs\Python\Python36-32\python.exe E:/untitled/Python_Test/urllib2Demo1.py
Traceback (most recent call last):
 File "E:/untitled/Python_Test/urllib2Demo1.py", line 5, in <module>
  print(urllib.urlencode(wd))
AttributeError: module 'urllib' has no attribute 'urlencode'

Process finished with exit code 1

正确例子:

import urllib
import urllib.parse
wd = {"wd":"传智播客"}
print(urllib.parse.urlencode(wd))

结果:

C:\Users\DELL\AppData\Local\Programs\Python\Python36-32\python.exe E:/untitled/Python_Test/urllib2Demo1.py
wd=%E4%BC%A0%E6%99%BA%E6%92%AD%E5%AE%A2

Process finished with exit code 0

因此需要记住urllib库在python2和python3之间是不同的。

普及一下知识点:

urllib库在python2与python3中的区别

Urllib是python提供的一个用于操作url的模块。

在python2中,有urllib库和urllib2库。在python3中,urllib2合并到urllib库中,我们爬取网页的时候,经常用到这个库。

升级合并后,模块中包的位置变化的地方较多。

以下是python2与python3中常用的关于urllib库的变化:

在python2中使用import urllib2————对应的,在python3中会使用import urllib.request,urllib.error

在python2中使用import urllib————对应的,在python3中会使用import urllib.request,urllib.error,urllib.parse

在python2中使用import urlparse————对应的,在python3中会使用import urllib.parse

在python2中使用urllib2.urlopen————对应的,在python3中会使用urllib.request.urlopen

在python2中使用urllib.urlencode————对应的,在python3中会使用urllib.parse.urlencode

在python2中使用urllib.quote————对应的,在python3中会使用urllib.request.quote

在python2中使用cookielib.CookieJar————对应的,在python3中会使用http.CookieJar

在python2中使用urllib2.Request————对应的,在python3中会使用urllib.request.Request

以上就是urllib相关模块从python2到python3的常见一些变化。

以上这篇解决python 3 urllib 没有 urlencode 属性的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现清屏的方法
Apr 30 Python
Python编写生成验证码的脚本的教程
May 04 Python
python开发之for循环操作实例详解
Nov 12 Python
Python Web框架Tornado运行和部署
Oct 19 Python
Python基于Matplotlib库简单绘制折线图的方法示例
Aug 14 Python
单利模式及python实现方式详解
Mar 20 Python
Python3处理HTTP请求的实例
May 10 Python
tensorflow 获取模型所有参数总和数量的方法
Jun 14 Python
flask session组件的使用示例
Dec 25 Python
Python实现K折交叉验证法的方法步骤
Jul 11 Python
Jmeter调用Python脚本实现参数互相传递的实现
Jan 22 Python
基于PyTorch中view的用法说明
Mar 03 Python
python爬虫增加访问量的方法
Aug 22 #Python
Python中字典与恒等运算符的用法分析
Aug 22 #Python
python实现通过flask和前端进行数据收发
Aug 22 #Python
python2.7的flask框架之引用js&amp;css等静态文件的实现方法
Aug 22 #Python
PyQt+socket实现远程操作服务器的方法示例
Aug 22 #Python
使用python os模块复制文件到指定文件夹的方法
Aug 22 #Python
详解Django-channels 实现WebSocket实例
Aug 22 #Python
You might like
PHP数据缓存技术
2007/02/14 PHP
php5 non-thread-safe和thread-safe这两个版本的区别分析
2010/03/13 PHP
smarty 缓存控制前的页面静态化原理
2013/03/15 PHP
php中file_get_contents与curl性能比较分析
2014/11/08 PHP
php编程中echo用逗号和用点号连接的区别
2016/03/26 PHP
javascript面向对象编程(一) 实例代码
2010/06/25 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
jQuery中的siblings用法实例分析
2015/12/24 Javascript
js css+html实现简单的日历
2016/07/14 Javascript
JavaScript中三种常见的排序方法
2017/02/24 Javascript
bootstrap模态框示例代码分享
2017/05/17 Javascript
vue-cli+webpack在生成的项目中使用bootstrap实例代码
2017/05/26 Javascript
基于jQuery的$.getScript方法去加载javaScript文档解析
2017/11/08 jQuery
weebox弹出窗口不居中显示的解决方法
2017/11/27 Javascript
JavaScript类的继承操作实例总结
2018/12/20 Javascript
使用localStorage替代cookie做本地存储
2019/09/25 Javascript
JavaScript实现文件下载并重命名代码实例
2019/12/12 Javascript
[02:33]DOTA2亚洲邀请赛趣味视频之吐真话筒
2018/03/31 DOTA
[01:06:12]VP vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
python opencv 直方图反向投影的方法
2018/02/24 Python
Python爬虫框架Scrapy实例代码
2018/03/04 Python
pandas使用get_dummies进行one-hot编码的方法
2018/07/10 Python
pytorch: tensor类型的构建与相互转换实例
2018/07/26 Python
使用django实现一个代码发布系统
2019/07/18 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
2019/08/08 Python
Pandas实现dataframe和np.array的相互转换
2019/11/30 Python
Xadmin+rules实现多选行权限方式(级联效果)
2020/04/07 Python
使用Python pip怎么升级pip
2020/08/11 Python
意大利奢侈品购物网站:Deliberti
2019/10/08 全球购物
MIS软件工程师的面试题
2016/04/22 面试题
十佳大学生事迹材料
2014/01/29 职场文书
中国梦团日活动总结
2014/07/07 职场文书
股份转让协议书范本
2015/01/27 职场文书
python实现三次密码验证的示例
2021/04/29 Python
golang 定时任务方面time.Sleep和time.Tick的优劣对比分析
2021/05/05 Golang