如何在Java中调用Python代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Java中调用Python代码相关的知识,希望对你有一定的参考价值。
Jython(原JPython),是一个用Java语言写的Python解释器。在没有第三方模块的情况下,通常选择利用Jython来调用Python代码,它是一个开源的JAR包,你可以到官网下载一个HelloPython程序importorg.python.util.PythonInterpreter;publicclassHelloPythonpublicstaticvoidmain(String[]args)PythonInterpreterinterpreter=newPythonInterpreter();interpreter.exec("print(\'hello\')");什么是PythonInterpreter?它的中文意思即是“Python解释器”。我们知道Python程序都是通过解释器来执行的,我们在Java中创建一个“解释器”对象,模拟Python解释器的行为,通过exec("Python语句")直接在JVM中执行Python代码,上面代码的输出结果为:hello在Jvm中执行Python脚本interpreter.execfile("D:/labs/mytest/hello.py");如上,将exec改为execfile就可以了。需要注意的是,这个.py文件不能含有第三方模块,因为这个“Python脚本”最终还是在JVM环境下执行的,如果有第三方模块将会报错:javaImportError:Nomodulenamedxxx仅在Java中调用Python编写的函数先完成一个hello.py代码:defhello():return\'Hello\'在Java代码中调用这个函数:importorg.python.core.PyFunction;importorg.python.core.PyObject;importorg.python.util.PythonInterpreter;publicclassHelloPythonpublicstaticvoidmain(String[]args)PythonInterpreterinterpreter=newPythonInterpreter();interpreter.execfile("D:/labs/hello.py");PyFunctionpyFunction=interpreter.get("hello",PyFunction.class);//第一个参数为期望获得的函数(变量)的名字,第二个参数为期望返回的对象类型PyObjectpyObject=pyFunction.__call__();//调用函数System.out.println(pyObject);上面的代码执行结果为:Hello即便只是调用一个函数,也必须先加载这个.py文件,之后再通过Jython包中所定义的类获取、调用这个函数。如果函数需要参数,在Java中必须先将参数转化为对应的“Python类型”,例如:__call__(newPyInteger(a),newPyInteger(b))a,b的类型为Java中的int型,还有诸如:PyString(Stringstring)、PyList(Iterator
java调用python方法及常用的java调用python代码
Python语言作为一种流行的高级编程语言,在 Java开发中也是经常被使用到的。那么在 Java中如何调用 Python呢? 1、首先我们要知道, Java是一门面向对象的语言,所以我们可以通过方法和属性来调用 Python。 2、方法: (1)如果我们想调用 Python的方法,可以使用"="来连接。 例如,我们可以使用"='-'"-'-'"+'"='+'"来连接属性。 (3)如果想直接使用类的方法,那么我们就需要在方法中先定义类,然后在类中定义方法。例如: 3、注意:如果是 Java开发人员,可以直接调用 Python的类,或者通过调用 Java的属性来调用 Python的方法。但是需要注意的是:不能直接调用类或属性。
-
1.使用 JavaScript的对象方法
使用 JavaScript的对象方法时,我们可以通过定义一个构造函数来调用 Python的对象方法。 我们可以使用以下代码来调用 Python的对象方法: 这段代码中,我们需要先定义一个构造函数,然后使用构造函数来调用 Python的对象方法。具体代码如下: 这里,我们需要使用一个名为" document"的类,然后在类中定义一个构造函数。 在这个构造函数中,我们首先定义了一个名为" document"的类,然后定义了一个名为" document. map"的类对象。下面,我们来看一下 java中如何调用 python的对象方法:
-
2.使用 Python的类
1)如果想要调用 Python的类,可以在方法中使用 python. class。 2)如果想直接使用类的方法,那么可以直接在方法中使用 Python的类。 3)使用 Python的类调用 Python的方法时,必须首先定义一个类,然后在该类中定义方法。 4)在 Python中,类是可以被继承的,而且可以通过继承来扩展它。如果想要扩展某个类,则需要先声明这个类,然后在该对象中定义新的方法。 5)当要调用一个类或属性时,应该先创建对象。创建对象后才能使用它,因为对象是可以被继承和扩展的。 6)如果想要访问 Python中的变量和数据类型,可以使用 Python中的“类型检查”功能来检测是否有 Python类型。
-
3.使用 python中的字符串
对于 Python中的字符串,我们可以使用 Python的内置函数来直接调用。 例如: (1)首先我们需要在 Python的代码中使用一个函数来读取一个字符串,然后将其存储到一个数组中。这个函数的代码如下: (2)当我们调用该函数时,必须首先使用 Python的内置函数。例如: (3)当我们使用 Python内置函数时,如果想直接使用字符串,那么需要在代码中使用一个"="来连接字符串,例如: (4)如果想调用其他的函数,可以直接在 Python中使用内置的方法。例如: (5)对于其他语言,我们可以通过调用第三方库中的方法来调用 Python。例如: (6)对于 Python本身,我们也可以通过调用第三方库来实现。例如:
-
4.使用 PyCode库
(1) PyCode库是一种函数库,可以在 Python和 Java中使用。 (2)使用 PyCode库时,首先需要找到 Python的 pip模块,然后在 Java中安装 pip模块。 (3)在 Python中可以使用以下命令来调用 Python: pip install pip install pip install-a. pip-r PyCode-a. pip-p-b-g-o-m-k-p-l-m-f-t-s-f-n pyCode-a. pyCode-b. pyCode-c. py-f. py
-
5.使用 TypeScript库
该库提供了丰富的 Python功能,可以使我们轻松地使用 Python完成各种任务。TypeScript库提供了很多功能,如: 例如: 例如: 例如: 例如: 例如: 例如:
-
6.使用PyGraphics2019库
Python有很多库,其中最常用的是PyGraphics2019库。PyGraphics2019库提供了许多功能,比如可以实现 Python中的列表排序、对字符串进行排序、查找所有已知字符串等功能。其中最重要的是使用了 PyText库,因为 PyText可以直接访问 Python文档。 下面来看一下pyGraphics2019库的基本功能: (1)在 Java中实现列表排序 (2)列表排序时需要知道哪些元素为已知元素,以及每个元素在列表中的位置。例如:列表排序时,需要知道:"1"、"7"、......,在列表排序时,需要知道:1-5,5-7,8-9,10-11,......。 (3)可以将列表的数字按照从小到大的顺序排列。例如:从1到2是1,从2到3是2等等。
常用的java调用python代码
1. 使用ProcessBuilder类调用Python脚本
```
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class CallPythonScript
public static void main(String[] args)
try
ProcessBuilder pb = new ProcessBuilder("python", "script.py");
Process p = pb.start();
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = in.readLine()) != null)
System.out.println(line);
in.close();
catch (IOException e)
e.printStackTrace();
```
2. 使用Runtime类调用Python脚本
```
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class CallPythonScript
public static void main(String[] args)
try
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("python script.py");
BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line;
while ((line = in.readLine()) != null)
System.out.println(line);
in.close();
catch (IOException e)
e.printStackTrace();
```
3. 使用Jython库调用Python脚本
```
import org.python.core.PyFunction;
import org.python.core.PyObject;
import org.python.core.PyString;
import org.python.util.PythonInterpreter;
public class CallPythonScript
public static void main(String[] args)
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.execfile("script.py");
PyFunction func = (PyFunction) interpreter.get("function_name", PyFunction.class);
PyObject result = func.__call__(new PyString("argument"));
System.out.println(result);
```
以上是关于如何在Java中调用Python代码的主要内容,如果未能解决你的问题,请参考以下文章
Python代写,Python作业代写,代写Python,代做Python
java调用python方法及常用的java调用python代码