模块导入:NameError:未定义名称

2022-03-31 00:00:00 python python-import

问题描述

如何在导入器中定义函数,使其在导入中可见?我试过这个

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

评估文件

相关文章