繁体   English   中英

如何从另一个Jython脚本读取功能?

[英]How do I read a function from one Jython script in another?

又是我,

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

我有一个脚本Tools.py ,其中包含一些我想使用的功能。 目前,我想在第二个脚本Prog.pyprog()函数中从Tools.py调用run_prog()函数。

我浏览了论坛并使用了:

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()
    ...

谢谢,

基德先生

尝试:

from .Tools import run_prog

导入时,切勿在函数名称后加括号。

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

您的Prog.py找不到Tools.py 通常,(在常规python中)我的脚本中位于相同目录的模块会被自动找到。

您的目录布局是什么?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM