模块导入:NameError:未定义名称
问题描述
如何在导入器中定义函数,使其在导入中可见?我试过这个importer.py
为
def build():
print "building"
build()
import imported
因此,imported.py
就是
build()
尚未成功
building
Traceback (most recent call last):
File "C:UsersvalentinDesktopprojectsmaximminiGP01evaluatorimporter.py", line 6, in <module>
import imported
File "C:UsersvalentinDesktopprojectsmaximminiGP01evaluatorimported.py", line 1, in <module>
build()
NameError: name 'build' is not defined
更新收到循环导入的响应后,导入和导入相互依赖,我觉得需要说明这并不总是好的。我的目的是在导入的模块中指定一些通用策略。它将使用一些用户定义的函数,例如build
。用户定义必要的函数并调用策略。关键是共享策略不能依赖于特定的用户定义。我认为我需要类似evaluate(imported.py)
的东西来代替import
,我相信这是任何脚本语言中的基本函数,包括Python。Irc://freenode/python坚持我必须使用import
,但我不明白如何使用。
解决方案
我知道这是亵渎神明,但允许导入模块而不绑定导入With导入器的东西在Python中作为脚本语言很容易获得。您始终可以使用execfile
评估文件相关文章