模块导入:NameError:未定义名称 [英] module import: NameError: name is not defined

查看:15
本文介绍了模块导入: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

评估文件

这篇关于模块导入:NameError:未定义名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆