import语句 初始化整个模块。模块存储在sys.modules
字典中。
使用模块时from sys import argv
,sys
模块 本地绑定的,只有本地绑定的argv
。您不能sys
在模块中使用该名称,因为您没有导入该名称。
sys
如果sys
单独导入,则只能访问该模块:
from sys import argv
script, input = argv
import sys
print sys.path
而且,您始终可以通过访问来访问所有导入的模块sys.modules
:
from sys import modules
print modules['sys'].path
在这里,我将名称绑定modules
到sys.modules
字典,并通过该引用找到sys
模块并引用path
属性。
演示:
>>> from sys import modules
>>> modules['sys']
<module 'sys' (built-in)>
>>> sys
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'sys' is not defined