0

我有一个作为独立程序运行的脚本,但是我也希望能够将它用作可调用函数。目前,当我尝试从另一个脚本运行它时,我收到错误消息,指出某些模块未定义/导入。例如:

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 位

4

1 回答 1

1

在 PostREC3 模块的顶部导入 exp 和您需要的任何其他模块/函数,而不是特定函数。

导入不是“全局的”,每个模块都需要导入它需要运行的所有内容,即使另一个模块已经这样做了。

于 2013-07-15T15:19:45.180 回答