解决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 相关文章推荐
Python3实现连接SQLite数据库的方法
Aug 23 Python
Python的Tornado框架实现异步非阻塞访问数据库的示例
Jun 30 Python
Flask实现图片的上传、下载及展示示例代码
Aug 03 Python
python爬取网易云音乐评论
Nov 16 Python
Python和Go语言的区别总结
Feb 20 Python
elasticsearch python 查询的两种方法
Aug 04 Python
pytorch 在sequential中使用view来reshape的例子
Aug 20 Python
Django框架模板用法入门教程
Nov 04 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
Jan 09 Python
Python requests.post方法中data与json参数区别详解
Apr 30 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
Jun 23 Python
Python如何使用logging为Flask增加logid
Mar 30 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
flash用php连接数据库的代码
2011/04/21 PHP
探讨:使用XMLSerialize 序列化与反序列化
2013/06/08 PHP
PHP函数addslashes和mysql_real_escape_string的区别
2014/04/22 PHP
图解找出PHP配置文件php.ini的路径的方法
2014/08/20 PHP
PHP遍历文件夹与文件类及处理类用法实例
2014/09/23 PHP
php提交表单发送邮件的方法
2015/03/20 PHP
PHP实现原生态图片上传封装类方法
2016/11/08 PHP
IE和FireFox(FF)中js和css的不同
2009/04/13 Javascript
jQuery阻止冒泡和HTML默认操作
2010/11/17 Javascript
js中的布尔运算符使用介绍
2013/11/20 Javascript
Javascript学习指南
2014/12/01 Javascript
推荐5 个常用的JavaScript调试技巧
2015/01/08 Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
2016/05/04 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
2016/09/22 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
JavaScript实现数值自动增加动画
2017/12/28 Javascript
vue移动端下拉刷新和上拉加载的实现代码
2018/09/08 Javascript
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
ES6 class类链式继承,实例化及react super(props)原理详解
2020/02/15 Javascript
在Python3中使用asyncio库进行快速数据抓取的教程
2015/04/02 Python
python验证码识别教程之利用滴水算法分割图片
2018/06/05 Python
Tensorflow中的placeholder和feed_dict的使用
2018/07/09 Python
使用k8s部署Django项目的方法步骤
2019/01/14 Python
详解python内置模块urllib
2020/09/09 Python
纯HTML5+CSS3制作生日蛋糕(代码易懂)
2016/11/16 HTML / CSS
英国办公家具网站:Furniture At Work
2019/10/07 全球购物
试述DBMS的主要功能
2016/11/13 面试题
会计系毕业个人自荐信格式
2013/09/23 职场文书
煤矿班组长的职责
2013/12/25 职场文书
小学毕业感言150字
2014/02/05 职场文书
课内比教学心得体会
2014/09/09 职场文书
2015年社区工作总结
2015/04/08 职场文书
2015年幼儿园中班开学寄语
2015/05/27 职场文书
中考百日冲刺决心书
2015/09/22 职场文书
导游词之潮音寺
2019/09/26 职场文书
PyTorch 实现L2正则化以及Dropout的操作
2021/05/27 Python