解决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如何实现excel数据添加到mongodb
Jul 30 Python
python构建深度神经网络(DNN)
Mar 10 Python
python机器学习之随机森林(七)
Mar 26 Python
Python 查找list中的某个元素的所有的下标方法
Jun 27 Python
Python中如何使用if语句处理列表实例代码
Feb 24 Python
python3中类的继承以及self和super的区别详解
Jun 26 Python
python 列表推导式使用详解
Aug 29 Python
Python while循环使用else语句代码实例
Feb 07 Python
Python文件操作模拟用户登陆代码实例
Jun 09 Python
基于python实现可视化生成二维码工具
Jul 08 Python
python绘制趋势图的示例
Sep 17 Python
Python数据分析入门之数据读取与存储
May 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
德生S2000南麂列岛台湾FM收听记录
2021/03/02 无线电
php学习笔记(三)操作符与控制结构
2011/08/06 PHP
PHP生成随机用户名和密码的实现代码
2013/02/27 PHP
php等比例缩放图片及剪切图片代码分享
2016/02/13 PHP
PHP微信开发之查询城市天气
2016/06/23 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
php删除一个路径下的所有文件夹和文件的方法
2018/02/07 PHP
PHP设计模式之简单工厂和工厂模式实例分析
2019/03/25 PHP
Code:findPosX 和 findPosY
2006/12/20 Javascript
Ext JS 4官方文档之三 -- 类体系概述与实践
2012/12/16 Javascript
JS动态增加删除UL节点LI及相关内容示例
2014/05/21 Javascript
js控制div弹出层实现方法
2015/05/11 Javascript
javascript实现可拖动变色并关闭层窗口实例
2015/05/15 Javascript
JavaScript中的small()方法使用详解
2015/06/08 Javascript
纯javascript实现分页(两种方法)
2015/08/26 Javascript
JS实现页面跳转参数不丢失的方法
2016/11/28 Javascript
@ResponseBody 和 @RequestBody 注解的区别
2017/03/08 Javascript
vue中改变选中当前项的显示隐藏或者状态的实现方法
2018/02/08 Javascript
vue 实现的树形菜的实例代码
2018/03/19 Javascript
vue组件间通信六种方式(总结篇)
2019/05/15 Javascript
Javascript地址引用代码实例解析
2020/02/25 Javascript
vue router返回到指定的路由的场景分析
2020/11/10 Javascript
使用pdb模块调试Python程序实例
2015/06/02 Python
遍历python字典几种方法总结(推荐)
2016/09/11 Python
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
Python操作csv文件实例详解
2017/07/31 Python
python使用scrapy发送post请求的坑
2018/09/04 Python
windows下numpy下载与安装图文教程
2019/04/02 Python
Python-opencv实现红绿两色识别操作
2020/06/04 Python
利用Python将多张图片合成视频的实现
2020/11/23 Python
联想哥伦比亚网上商城:Lenovo Colombia
2017/01/10 全球购物
美国首屈一指的高品质珠宝设计师和零售商:Allurez
2018/01/23 全球购物
新年主持词
2014/03/27 职场文书
个人工作保证书
2015/02/28 职场文书
新闻稿件写作技巧
2015/07/18 职场文书
Go语言测试库testify使用学习
2022/07/23 Golang