我有一个脚本,它作为一个独立的程序运行,但我希望能够使用它作为一个可调用的函数。目前,当我尝试从另一个脚本运行它时,我收到错误消息,指出某些模块没有定义/导入。例如:
NameError: global name 'exp' is not defined下面是生成错误的代码示例:
from PostREC3 import * ##import the required functions from the module
from numpy import array, shape, math, loadtxt, log10, vstack, arange
from scipy.integrate import quad
from pylab import all
from numpy import pi as pi
from assimulo.solvers.sundials import IDA
from assimulo.problem import Implicit_Problem
from math import exp, log10, fabs, atan, log
import pickle
import sys
results = PostREC(2,100,90,1.0,1, 1,"0",2 ) #run an imported function输出:
NameError: global name 'exp' is not defined我尝试过从函数内部导入exp,但是这并没有改变任何事情。据我所知,只要我在使用函数之前导入了它们,那么它们就应该可以供任何其他函数使用。那么,我正在做的事情是不是有什么问题,或者这是否指向了代码本身的另一个错误?
操作系统: Ubuntu 12.10 Python 2.7 64位
发布于 2013-07-15 23:19:45
在PostREC3模块的顶部导入exp和您需要的任何其他模块/函数,而不是在某个特定函数中。
导入不是“全局的”,每个模块都需要导入运行所需的所有内容,即使另一个模块已经这样做了。
https://stackoverflow.com/questions/17657671
复制相似问题