我想使用jython执行一个Python函数,这个函数位于我的一个Java Python项目中。https://smart bear . com/blog/test-and-monitor/embedding-jython-in-Java-applications/给出了示例代码。但是在我的场景中,我得到了下面的异常。
线程“main”回溯中出现异常(最近一次调用是最后一次):文件“”中第1行,导入错误:没有名为JythonTestModule的模块
我的场景如下。
>
我通过使用PyCharm(JythonTestModule.py)在我的python项目(pythonDev)中创建了一个python模块,其中包含以下函数。
定义平方(值):返回值*值
然后,我在我的爪哇项目(javaDev)中创建了一个示例 Java 类,并调用了蟒蛇模块。
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程序生成的。我想知道这个梅尼化的代码段有什么问题。
根据这个问题上面评论部分的建议,我已经找到了这个问题的解决方案。下面的代码片段将演示。在这个解决方案中,我将python.path设置为我的模块文件的目录路径。
public static void main(String[] args) throws PyException{
Properties properties = new Properties();
properties.setProperty("python.path", "/path/to/the/module/directory");
PythonInterpreter.initialize(System.getProperties(), properties, new String[]{""});
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)));
}
如果要使用 Jython 中的多个模块,请将 python.path 添加为所有模块的父目录路径,以便检测所有模块。
我编写了一个由五个。py脚本文件组成的Python程序。我希望从Java应用程序中执行这些python脚本的主要部分。 我有什么选择?使用PythonInterperter不起作用,例如,模块不能从Jython中加载(我不希望用户为这些依赖项的工作而确定他的Python路径)。 我使用Jython的CompileAll将整个文件夹编译为。class文件。我能以某种方式嵌入这些。class文件以从J
我想从java代码调用python并将参数传递给python中的函数。我已经在python中封装了一个函数。但问题是我还在python程序中导入了第三方库skLearning。当我调用测试程序并将值传递给python时,我能够运行代码。但是当我尝试在python代码中使用第三方库,例如skLearning和import时,我得到了以下错误。 我初始化了Python解释器类的对象,然后使用以下命令,
问题内容: 我想从C调用Python脚本,并传递脚本中所需的一些参数。 我要使用的脚本是mrsync或多播远程同步。我通过调用以下命令从命令行进行了工作: -m是包含目标ip地址的列表。-s是包含要同步的文件的目录。-t是目标计算机上将放置文件的目录。 到目前为止,通过使用以下C程序,我设法运行了没有参数的Python脚本: 这很好。但是,我找不到如何将这些参数传递给方法的方法。 问题答案: 似乎
我试图使用jython在java中执行python脚本。重要的是,我需要使用jython将命令行参数传递给脚本,例如myscript。py arg1 arg2 arg3。这里有一个类似的问题:将参数传递到Java中的Python脚本 这没有得到完全的回答(所有解决方案都不起作用)。 我的代码现在看起来像这样: 然而,这似乎没有向python脚本传递任何参数。对如何正确地做这件事有什么建议吗?这一定
我正在运行一个接受一些命令行参数的Python程序。当我在Visual Studio Code中构建程序时,如何提供这些参数?
本文向大家介绍Python使用多进程运行含有任意个参数的函数,包括了Python使用多进程运行含有任意个参数的函数的使用技巧和注意事项,需要的朋友参考一下 1. 问题引出 许多时候,我们对程序的速度都是有要求的,速度自然是越快越好。对于Python的话,一般都是使用multiprocessing这个库来实现程序的多进程化,例如: 我们有一个函数my_print,它的作用是打印我们的输入: def