还有的__import__
Python文档中的一部分,这一点我不明白:什么是Python的__import__函数中的`globals`和`locals`参数?
__import__(name[, globals[, locals[, fromlist[, level]]]])
功能导入模块
name
,可能使用给定globals
和locals
,以确定如何解释name
在包装上下文中。标准实现完全不使用locals
参数,并且仅使用它的globals
来确定导入语句的包上下文。
什么是“解释”模块名称?什么是包装上下文?
使用这些参数的示例调用看起来是这样的:
spam = __import__('spam', globals(), locals(), [], -1)
为什么例子提供globals()
和locals()
的功能?当我只提供globals()
会发生什么?或者既不?
我可能错过了某些与导入模块有关的名称空间逻辑部分。你能不能指出一篇文章解释这个/有__import__
函数的例子?
不应该将此问题移至StackOverflow吗? – EOL 2011-02-02 09:52:12
这很有趣,我开始在SO上写这个,但是在想我是否应该把它发布在程序员上。相反......我显然需要看FAQ ...... – 2011-02-02 09:56:18
你应该选择以下答案之一作为接受这个问题的答案。恕我直言,9000的答案通过解释Python使用`globals`来确定模块名称空间来解决问题。 – Kumba 2012-10-16 04:14:56