NameError:未定义全局名称'test'

时间:2016-12-28 02:45:38

标签: python python-2.7 class module

您好我有两个python文件:project.py和test.py.

我正在尝试将变量从test.py导入到project.py。

以下是代码:

test.py

newton = 0
def apple(n):
    global newton
    n = newton
    time.sleep(15)
    n = n + 1
    return

并在project.py

from test import *
class search(object):
      def __init__(self):
          self.servo = test.apple(n)
      def run(self):
          while (self.servo < 1):
                print "hELLO"

当我运行project.py时,我得到NameError:在project.py中没有定义全局名称'test'。self.servo = test.apple(n)

有人能指出我的代码有什么问题吗?

1 个答案:

答案 0 :(得分:2)

您对resolve: { cacheObj: function(UserService) { return getCache(UserService); } } 的期望是什么?

test

这将加载test中找到的所有内容,在本例中为test.py.这样就会将以下内容加载到全局命名空间中:

  • from test import * (值newton
  • 0(函数)

它不会加载任何名为apple的符号,因此当您在test方法中调用test.apple时,会得到__init__

如果要将test.py导入为NameError,则需要只导入模块本身,而不是从模块中导入

test