有一部分是__import__ http://docs.python.org/library/functions.html#__import__Python 文档中,我不明白:
__import__(name[, globals[, locals[, fromlist[, level]]]])
该函数导入模块name
,可能使用给定的globals
and locals
以确定如何解释name
在包上下文中。标准实现不使用其locals
根本没有论证,并使用它的globals
仅确定导入语句的包上下文。
模块名称有什么可“解释”的?什么是包上下文?
使用这些参数的示例调用如下所示:
spam = __import__('spam', globals(), locals(), [], -1)
为什么示例提供globals()
and locals()
到函数?当我只提供时会发生什么globals()
?或者两者都不是?
我可能缺少与导入模块相关的命名空间逻辑的某些部分。你能指点我一篇文章来解释这个/有例子吗__import__
功能?
标准实现不使用其locals
根本没有论证,并使用它的globals
仅确定包上下文import
陈述。
(from docs.python.org http://docs.python.org/library/functions.html#__import__)
I still have no idea how globals
are used; what global variable can ever affect the way import
statement works?
EDIT:看完之后import.c
在 Python 2.5 源代码中我发现__import__
期望找到__name__
or __path__
in globals
为了按顺序增加相对于在这些变量之一中找到的路径的导入搜索路径。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)