import httplib与httplib import *有什么区别?

时间:2013-05-25 00:14:45

标签: python module httplib

我想知道哪个是有区别的 导入httplib和
来自httplib import *
顺便说一句,我使用的是python 2.73。

2 个答案:

答案 0 :(得分:0)

使用import httplib,您必须执行

httplib.HTTPConnection(host)

使用from httplib import *,您可以

HTTPConnection(host)

最好在第二种方法中指定要导入的内容,如from httplib import HTTPConnection

答案 1 :(得分:0)

以下是不同的例子:

>>> import httplib
>>> SEE_OTHER
NameError: name 'SEE_OTHER' is not defined
>>> httplib.SEE_OTHER
303

>>> from httplib import *
>>> SEE_OTHER
303
>>> httplib.SEE_OTHER
NameError: name 'httplib' is not defined

from httplib import *几乎不是你想要的,除非在交互式提示中试用httplib

有时您想要从库中导入一些名称 - 但在这种情况下,请明确指定名称:

from httplib import SEE_OTHER, MOVED_PERMANENTLY

导入模块,但前者在当前全局变量中创建一个新名称httplib,而后者则将httplib中的所有全局变量复制到当前全局变量中。**


*“几乎”因为即使在脚本中也有一些很好的用例。例如,使用C加速器提供模块的Python实现的惯用方法是使用foo.py结束Python脚本from _foo import *

**这不是真的,因为__all__和其他各种细节,但现在已足够接近。