在Java中调用Python的方法主要有以下几种:
使用Java的ProcessBuilder类
你可以使用Java的`ProcessBuilder`类来启动Python解释器并执行Python脚本。以下是一个简单的示例代码:
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class PythonCaller {public static void main(String[] args) throws IOException {ProcessBuilder pb = new ProcessBuilder("python", "path/to/your/python/script.py");Process process = pb.start();BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));String line;while ((line = reader.readLine()) != null) {System.out.println(line);}int exitCode = process.waitFor();System.out.println("Exit code: " + exitCode);}}
使用Jython库

Jython是一个Python语言在Java中的实现,允许你在Java程序中直接执行Python代码。你需要将Jython的jar包添加到你的Java项目中。以下是一个使用Jython的示例代码:
import org.python.core.PyObject;import org.python.util.PythonInterpreter;public class JavaRunPython {public static void main(String[] args) {PythonInterpreter interpreter = new PythonInterpreter();interpreter.execfile("path/to/your/python/script.py");PyObject result = interpreter.get("result");System.out.println(result);}}
使用Python WebService
另一种方法是通过Python WebService(例如使用Flask或Django框架创建的API)来从Java中调用Python代码。
选择哪种方法取决于你的具体需求,例如是否需要与Python代码进行复杂的交互,或者是否依赖于特定的Python库。如果你需要执行包含第三方库的Python脚本,推荐使用`ProcessBuilder`方法,因为它允许你指定Python解释器的路径,并且可以处理命令行参数和输入输出流。如果你需要更深层次的集成,可能需要使用Python WebService方法
