解决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二分法实现实例
Nov 21 Python
Python实现网站文件的全备份和差异备份
Nov 30 Python
对于Python中线程问题的简单讲解
Apr 03 Python
Python简单进程锁代码实例
Apr 27 Python
Python使用arrow库优雅地处理时间数据详解
Oct 10 Python
Python实现使用卷积提取图片轮廓功能示例
May 12 Python
Python使用sorted对字典的key或value排序
Nov 15 Python
pycharm编写spark程序,导入pyspark包的3中实现方法
Aug 02 Python
django实现将修改好的新模型写入数据库
Mar 31 Python
python制作抽奖程序代码详解
Jan 15 Python
Pycharm 设置默认解释器路径和编码格式的操作
Feb 05 Python
Python获取字典中某个key的value
Apr 13 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和ACCESS写聊天室(五)
2006/10/09 PHP
让PHP更快的提供文件下载的代码
2012/06/13 PHP
php获取用户浏览器版本的方法
2015/01/03 PHP
PHP随机数 C扩展随机数
2016/05/04 PHP
php cookie 详解使用实例
2016/11/03 PHP
php中时间函数date及常用的时间计算
2017/05/12 PHP
PHP简单实现欧拉函数Euler功能示例
2017/11/06 PHP
jquery+ajax每秒向后台发送请求数据然后返回页面的代码
2011/01/17 Javascript
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
创建公共调用 jQuery Ajax 带返回值
2012/08/01 Javascript
JavaScript中“+”的陷阱深刻理解
2012/12/04 Javascript
多个checkbox被选中时如何判断是否有自己想要的
2014/09/22 Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
2015/03/04 Javascript
JS+CSS实现电子商务网站导航模板效果代码
2015/09/10 Javascript
三种Node.js写文件的方式
2016/03/08 Javascript
详解Angular.js数据绑定时自动转义html标签及内容
2017/03/30 Javascript
vue中的计算属性的使用和vue实例的方法示例
2017/12/04 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
在 Vue 中使用 JSX 及使用它的原因浅析
2020/02/10 Javascript
Python设计模式之观察者模式实例
2014/04/26 Python
python中split方法用法分析
2015/04/17 Python
Python简单调用MySQL存储过程并获得返回值的方法
2015/07/20 Python
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
分享一下如何编写高效且优雅的 Python 代码
2017/09/07 Python
Python科学计算包numpy用法实例详解
2018/02/08 Python
Pycharm 操作Django Model的简单运用方法
2018/05/23 Python
python的sorted用法详解
2019/06/25 Python
解决django-xadmin列表页filter关联对象搜索问题
2019/11/15 Python
解决tensorflow/keras时出现数组维度不匹配问题
2020/06/29 Python
python简单利用字典破解zip文件口令
2020/09/07 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
2020/12/13 Python
大学生评语大全
2014/04/18 职场文书
春游踏青活动方案
2014/08/14 职场文书
学校联谊协议书
2014/09/16 职场文书
团员个人总结
2015/02/26 职场文书
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python