如何从另一个Jython脚本中读取函数?

时间:2013-10-15 09:10:12

标签: python jython function

再次,我,

我正在尝试从一个Jython脚本调用一个函数到另一个,并在第二个脚本中的另一个函数中使用它,让我来看看。

我有一个脚本Tools.py,其中包含了我想要使用的几个函数。目前,我想在第二个脚本run_prog()中的Tools.py函数中调用prog()中的Prog.py函数。

我查看了论坛并使用了:

from Tools import run_prog()

在第二个脚本中的prog()函数之前收到错误消息:

No module named Tools

execfile(direc+"Tools.py")

os.system(direc+"Tools.py")
prog()函数中的

,但我收到错误消息:

global name 'run_prog()' is not defined

有人能告诉我哪里出错了吗?令人困惑的部分是两个.py脚本都在同一个目录中。

可能,为了更清楚,这里是脚本的细分:

Tools.py

def run_prog():
    ...

def run_prog2():
    ...

def convert_image():
    ...

def read_image():
    ...

现在在Prog.py

def prog():
    run_prog()
    ...

谢谢,

Kid先生

2 个答案:

答案 0 :(得分:0)

尝试:

from .Tools import run_prog

导入时,切勿在功能名称后面加上括号。

[修改]要使您的工具成为一个包,您应该创建一个名为Tools的文件夹,将您的Tools.py重命名为__init__.py并将其放入那个文件夹。

答案 1 :(得分:0)

您的Prog.py找不到Tools.py。通常(我的意思是在常规python中)将自动找到位于脚本中同一目录中的模块。

您的目录布局是什么?

作为一种解决方法,您可以使用jython -Dpython.path=foo/path:bar/path来定义显式搜索路径。