Python文档中有一部分是关于 __import__
的,我不太理解:
__import__(name[, globals[, locals[, fromlist[, level]]]])
该函数导入模块
name
,可能使用给定的globals
和locals
来确定如何在包上下文中解释name
。标准实现根本不使用它的locals
参数,并仅使用其globals
来确定导入语句的包上下文。
关于模块名称有哪些需要“解释”的内容呢?什么是包上下文?
一个使用这些参数的示例调用如下:
spam = __import__('spam', globals(), locals(), [], -1)
为什么示例提供了globals()
和locals()
给函数?如果我只提供globals()
会发生什么?或者两个都不提供呢?
我可能忽略了与导入模块相关的命名空间逻辑的某些部分。您能否指向一篇解释此事/具有__import__
函数示例的文章?