我想用Jython来执行一个Python函数,它位于Java中的一个Python项目中。
https://smartbear.com/blog/test-and-monitor/embedding-jython-in-java-applications/
提供了用于此目的的示例代码。但在我的情况下,我得到了以下例外。
线程“main”回溯中的异常(最近一次调用最后一次):文件
“”中的第1行:没有名为
JythonTest模块
我的设想如下。
-
我在python项目(pythondev)中使用pycharm(jythontestmodule.py)创建了一个python模块,它包含以下函数。
定义平方(值):
返回值*值
-
然后,我在Java项目(javaDeV)中创建了一个示例Java类,并调用了Python模块。
public static void main(String[] args) throws PyException{
PythonInterpreter pi = new PythonInterpreter();
pi.exec("from JythonTestModule import square");
pi.set("integer", new PyInteger(42));
pi.exec("result = square(integer)");
pi.exec("print(result)");
PyInteger result = (PyInteger)pi.get("result");
System.out.println("result: "+ result.asInt());
PyFunction pf = (PyFunction)pi.get("square");
System.out.println(pf.__call__(new PyInteger(5)));
}
在运行这个Java方法之后,上述异常由Java程序生成。我想知道这个被屏蔽的代码段有什么问题。