py大神 发表于 2018-1-16 20:32:58

Python的urllib模块

我想知道urllib和request是什么关系,如果request是urllib模块的方法的话,那么为什么不可以直接import urllib然后在使用方法,必须要import urllib.request才能使用
而且如果用type查看request的属性的话,它是一个模块啊

8306最硬 发表于 2018-1-16 21:18:46

本帖最后由 8306最硬 于 2018-1-16 21:20 编辑

打开IDLE,搜下urllib
发现他是一个package,包括四个modules
urllib.request
urllib.error
urllib.parse
urllib.robotparser
所以urllib只是一个包,urllib.request才是一个模块

py大神 发表于 2018-1-16 21:22:56

8306最硬 发表于 2018-1-16 21:18
打开IDLE,搜下urllib
发现他是一个package,包括四个modules
urllib.request


可是用type(urllib)的话,显示urllib是一个模块,难道包和模块都是module?

8306最硬 发表于 2018-1-16 21:30:05

但是在shell里tab一下,确实没有显示request的模块,却有parse的模块{:10_272:}

8306最硬 发表于 2018-1-16 21:44:03

py大神 发表于 2018-1-16 21:22
可是用type(urllib)的话,显示urllib是一个模块,难道包和模块都是module?

我在文档里找到这句话
urllib
Handles the rename of urllib and urllib2 to the urllib package.


原来在py2的时代,包括urllib和urllib2
本来request和error包含在urllib2里面
但是py3把urllib和urllib 2整合在了一起
话句话说urllib.request相当于以前的urllib2{:10_323:}

py大神 发表于 2018-1-16 23:37:08

OK,感谢老哥
页: [1]
查看完整版本: Python的urllib模块