繁体   English   中英

关于dir和python导入的问题

[英]questions about dir and import in python

我对Python的dir函数有一些疑问

>>>import urllib
>>>dir(urllib)
['__builtins__', '__cached__', '__doc__', '__file__','__loader__','__name__','__package__', '__path__', '__spec__']

当我这样做的时候

>>>import urllib.request
>>>dir(urllib)
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__','__package__', '__path__', '__spec__', 'error', 'parse', 'request', 'response']

为什么它有三个属性? 为什么request属性最初不在dir(urllib)中?

我真的很高兴你的帮助!

urllib是一个包,而在urllib.requestrequesturllib包中的一个模块。

导入包时,它不会自动导入包中的模块,除非该包由__init__.py导入该模块。

但是urllib__init__.py是空的(在我的Python 3.4中是空的),因此当简单地导入urllib它不会导入模块urllib.request

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM