解决python 3 urllib 没有 urlencode 属性的问题
作者:qq_38709565 发布时间:2022-03-31 12:42:44
今天在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
来源:https://blog.csdn.net/qq_38709565/article/details/81110095


猜你喜欢
- 概 述 现在有不少介绍利用ASP实现动态分页的文章,方法大同小异,就是每次利用ADO返回原始数据满足条件记录集中的指定
- 需提前安装好pyzbar和opencv-python库(博主的电脑安装opencv-python库比较麻烦,但大部分都不会出现该问题)安装方
- 计数器(Counter)是一个非常常用的功能组件,这篇blog以未读消息数为例,介绍了在 Django中实现一个高性能计数器的基本要点。故事
- 问题描述Python调整图片文件的占用空间大小,而不是分辨率1.jpg图片大小为 8KB 减小文件大小使用 PIL 模块pip i
- 我们都知道当我们建立数据表(innodb或myisam)时,会生成相应的文件(如:MYD,MYI,frm) 在这里,我们探讨下使用frm文件
- 所谓天赋(左脑和右脑)也就是你是否有艺术天赋,天赋也许是存在的,这主要在于人类左右脑的分工。左脑主要负责逻辑理解、语言、判断、分类、分析、推
- 前言摘要昨天和同事merge代码又遇到了很多冲突,发现之前有些方法写的参数不规范,没有传入Context,不方便进行链路追踪。他在revie
- PWA初次体验前言:本示例不用安装任何东西部分资源来自网络资源及PWA官网,不要把PWA想象的太复杂,跟着示例走一下,你行的。PWA介绍一个
- IE下专属CSS:<![if !IE]><link rel="stylesheet" type=&qu
- 1、概述Golang是一种强类型语言,虽然在代码中经常看到i:=12这种写法,这其实是编译器在编译期间自动做了类型推断。编译器会对数据进行类
- 目录OpenCV先决条件我们会在本文中涵盖7个主题读,写和显示图像imread():imshow():imwrite():读取视频并与网络摄
- 1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Se
- 设置密码保护SqlServer数据库备份文件! 备份SqlServer数据库 Backup Database [数据库] To disk=&
- 一、什么是函数装饰器1.函数装饰器是Python提供的一种增强函数功能的标记函数;2.装饰器是可调用的函数对象,其参数是另一个函数(被装饰的
- 前言现如今我们生活在一个二维码的时代,生活中处处都是二维码,支付要使用二维码,微信加好友要使用二维码,乘坐公共交通要使用二维码,那么,如果要
- 开源方:微软安装:pip install playwright;python -m playwright install特点:自动化脚本录制
- 先看下面一段代码:for(var i=0; i<10; i++) { $('#ul').bind('click
- MySQL是“世界上最为流行的开放性数据库”,至少对于MySQL Web站点会这样。但无论
- 有两种方法当知道字典的键时:unit_rooms={ 3:{301:[1,80],302:[1,80],303:[2,90],304:[2,
- 绘制直线图,确定x范围和y的范围代码:import matplotlib.pyplot as pltimport numpy as npxp