[英]How do I read a function from one Jython script in another?
又是我,
我正在尝试从一个Jython脚本调用另一个函数,并在第二个脚本的另一个函数中使用它,让我解释一下。
我有一个脚本Tools.py
,其中包含一些我想使用的功能。 目前,我想在第二个脚本Prog.py
的prog()
函数中从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.