JAVA代码调用python代码

博客介绍了信息技术相关的安装与运行步骤。首先需安装JDK,接着安装Jython并配置环境变量,官网有安装步骤说明。还提到了pom.xml文件,以及两种运行方式,一是在Java代码里嵌入Python代码,二是调用外部Python文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、先安装jdk

2、安装jython、【记得配环境变量】

官网有安装步骤,网址:https://wiki.python.org/jython/InstallationInstructions

3、pom.xml文件

		<dependency>
			<groupId>org.python</groupId>
			<artifactId>jython-standalone</artifactId>
			<version>2.7.0</version>
		</dependency>

有两种运行方式:

1、直接在java代码里边python代码:

    public static void runInJava() {
        PythonInterpreter interpreter = new PythonInterpreter();
        interpreter.exec("a=[5,2,3,9,4,0]; ");
        interpreter.exec("print(sorted(a));");
    }

2、调用外部python文件

    public static void runInPython() {
        PythonInterpreter interpreter = new PythonInterpreter();
        interpreter.execfile("D:\\a.py");
        // 第一个参数为期望获得的函数(变量)的名字,第二个参数为期望返回的对象类型
        PyFunction pyFunction = interpreter.get("add", PyFunction.class);
        int a = 5, b = 10;
        //调用函数,如果函数需要参数,在Java中必须先将参数转化为对应的“Python类型”
        PyObject pyobj = pyFunction.__call__(new PyInteger(a), new PyInteger(b));
        System.out.println("the anwser is: " + pyobj);
    }

a.py

def add(a,b):
    return a + b

 

Java调用Python文件可以通过多种方法实现,其中一种常用的方法是使用`ProcessBuilder`类来启动Python解释器并执行Python脚本。以下是一个简单的示例,展示了如何在Java调用Python文件: 1. 创建一个Python脚本文件,例如`script.py`,内容如下: ```python import sys def main(): print("Hello from Python!") for arg in sys.argv[1:]: print(f"Argument: {arg}") if __name__ == "__main__": main() ``` 2. 创建一个Java类,例如`CallPython.java`,内容如下: ```java import java.io.BufferedReader; import java.io.InputStreamReader; public class CallPython { public static void main(String[] args) { try { // 创建一个ProcessBuilder实例,传入Python解释器和Python脚本路径 ProcessBuilder pb = new ProcessBuilder("python", "script.py", "arg1", "arg2"); pb.redirectErrorStream(true); // 将标准错误流合并到标准输出流 Process process = pb.start(); // 读取Python脚本的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } // 等待Python脚本执行完毕 int exitCode = process.waitFor(); System.out.println("Exited with code: " + exitCode); } catch (Exception e) { e.printStackTrace(); } } } ``` 3. 编译并运行Java程序: ```sh javac CallPython.java java CallPython ``` 运行结果将会是: ``` Hello from Python! Argument: arg1 Argument: arg2 Exited with code: 0 ``` 通过上述方法,你可以在Java调用Python脚本并传递参数。这种方法适用于需要在Java应用程序中集成Python代码的场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rorschach01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值