使用默认启动交互式Python解释器时
设置,是否有任何模块隐式导入/加载到
解释器,没有明确地运行import <modulename>
?
我认为像sys
或builtins
这样的模块会是,但是当我
输入他们的模块名称,
>>> sys
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'sys' is not defined
>>> builtins
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'builtins' is not defined
默认情况下,没有隐式导入/加载模块是正确的吗?
执行python脚本时,是否隐式有任何模块
导入/加载到脚本中,无需显式指定
脚本中的import <modulename>
?
感谢。
答案 0 :(得分:2)
通常自动导入的一个模块是site.py.它导入了很多其他模块。但即使您使用选项-S
阻止它导入,Python仍然会导入许多模块。请尝试以下脚本:
#! /usr/bin/python2.7 -ESs
import sys
print(sys.modules)
看看有多少个模块。将shebang改为
#! /usr/bin/python3 -EISs
并说“哇!” : - )
答案 1 :(得分:1)
只有__builtins __:
#! /usr/bin/python2.7 -ESs
print(dir())
=&GT; ['__ builtin ___','__ doc__','__ file __','_ _ 1 ___','__ package __']