1

我需要从该脚本访问运行 jython 脚本的 java 类吗?有什么帮助吗?

更新:像这样的东西:

//JAVA CLASS
class Test{
     public String text;
     public Test
     {
        PythonInterpreter pi = new PythonInterpreter(null);
        pi.execfile("test.py");

     }

}

所以 int test.py 我需要做一些事情来改变 Test 类中文本的值

#test.py
doSomething()
Text.test = "new value"

希望更清楚

4

2 回答 2

5

要将 java 类实例传递给嵌入式 jython,您需要执行以下操作:

PythonInterpreter interp = new PythonInterpreter();
    interp.set("a", this);
    interp.exec("a.test = 'new value'");

如果要从外部脚本调用函数(将实例作为参数):

 PythonInterpreter interp = new PythonInterpreter();
    interp.set("a", this);
    interp.exec("import externalscript");
    interp.exec("externalscript.function(a)");
于 2009-04-23T16:08:46.153 回答
0

您必须在 Jython 代码的顶部导入您的测试类。我相信这将类似于

from com.examplepackage import Test

您还将文本值设置为静态,或将 Java 对象传递给 Jython 方法。

在这里查看文章。

于 2009-04-23T16:08:13.457 回答