解决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

标签:python,3,urllib,urlencode
0
投稿

猜你喜欢

  • 如何用python写一个简单的词法分析器

    2022-08-02 00:11:11
  • python随机获取列表中某一元素的方法

    2023-08-23 18:25:13
  • python中defaultdict字典功能特性介绍

    2022-06-07 23:27:45
  • Python制作一个仿QQ办公版的图形登录界面

    2021-06-23 20:08:49
  • Python中关于property使用的小技巧

    2021-01-25 04:35:44
  • PyTorch中Torch.arange函数详解

    2022-04-29 02:30:50
  • 什么是响应式Web设计?怎样进行?

    2011-11-21 17:00:40
  • Python实现简单层次聚类算法以及可视化

    2023-09-04 00:16:21
  • python实现网络五子棋

    2021-10-16 23:58:17
  • python多维数组切片方法

    2021-05-24 11:35:49
  • window.showModalDialog()返回值的学习心得总结

    2024-05-09 10:35:39
  • python网络爬虫实现个性化音乐播放器示例解析

    2021-10-06 10:14:51
  • 深入MYSQL字符数字转换的详解

    2024-01-18 04:20:11
  • python字符串过滤性能比较5种方法

    2021-09-26 18:35:25
  • SQL Server内存机制详解

    2024-01-20 09:57:48
  • Python heapq使用详解及实例代码

    2023-03-07 14:36:56
  • MySQL中对于NULL值的理解和使用教程

    2024-01-27 22:51:02
  • Python中getpass模块无回显输入源码解析

    2022-05-02 03:58:28
  • Pandas数据查询的集中实现方法

    2021-08-17 10:32:27
  • python工具之清理 Markdown 中没有引用的图片

    2022-02-14 11:44:39
  • asp之家 网络编程 m.aspxhome.com