__import__Python文档中有一部分,我不明白:
__import__(name[, globals[, locals[, fromlist[, level]]]])该函数
name可能使用给定的方法导入模块,globals并locals确定如何解释name包上下文中的内容.标准实现根本不使用它的locals参数,并globals仅使用它来确定import语句的包上下文.
什么是"解释"模块名称?什么是包上下文?
使用这些参数的示例调用如下所示:
spam = __import__('spam', globals(), locals(), [], -1)
Run Code Online (Sandbox Code Playgroud)
为什么示例提供globals()和locals()功能?当我只提供时会发生什么globals()?或者都不是?
我可能错过了与导入模块有关的命名空间逻辑的一些部分.你能指点我一篇解释这个/有__import__功能的例子的文章吗?
标准实现根本不使用它的
locals参数,并globals仅使用它来确定import语句的包上下文.
(来自docs.python.org)
我仍然不知道如何globals使用; 什么全局变量可以影响import语句的工作方式?
编辑:看后import.c在Python 2.5源代码我发现,__import__希望能够找到任何__name__或者__path__在globals为了增加导入的搜索路径相对于这些变量中的一个找到的路径(S)的顺序.
| 归档时间: |
|
| 查看次数: |
3558 次 |
| 最近记录: |