Java 中执行Python Runtime 方式实现

本文介绍了两种在Java中执行Python脚本的方法:通过org.python包的PythonInterpreter类直接执行Python代码或调用Python文件,以及利用Runtime类执行外部Python脚本。提供了具体的代码示例。

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

 

前提:

window 安装了python 

并且配置好了环境变量

 

 

一般两种方法:

 

引入 org.python 包  jPython 这个包

 

这个有两种使用方式:如下:

 

1.直接执行python脚本

PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec("print("123")");   ///执行python脚本
2.执行python .py文件

PythonInterpreter interpreter = new PythonInterpreter();  
InputStream filepy = new FileInputStream("/root/Desktop/demo.py"); 
interpreter.execfile(filepy);  ///执行python py文件
filepy.close();
 

 

 

 

 

 

2.还有一种方式就是Runtime : 这个方式相对来靠谱:

 

 Process proc = Runtime.getRuntime().exec("python  /root/Desktop/demo.py");  
 proc.waitFor();

 

 

 

 

 

看个实例:

 

 

        Process process;
        try {
            process = Runtime.getRuntime().exec("python  D:\\datax\\bin\\datax_3.py  D:\\datax\\bin\\oraclejson2localfile.json ");
//            process.waitFor();   
            BufferedReader stdOut=new BufferedReader(new InputStreamReader(process.getInputStream()));
            String s;
            while((s=stdOut.readLine())!=null){
                System.out.println(s);
            }

            int result=process.waitFor();
            process.destroy();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }    

 

 

steps_screen_shoot

 

 

 

 

要在Java中调用Python代码,可以使用Jython库。Jython是一个用于在Java虚拟机上运行Python代码的库。它允许您在Java中导入和调用Python模块。 下面是一个使用Jython库在Java中调用Python代码的例子: 1. 首先,您需要将Jython库添加到Java项目中。您可以从Jython官方网站(https://www.jython.org/download)下载Jython安装包并解压缩它。 2. 然后,您需要在Java代码中导入Jython库: ```java import org.python.core.PyObject; import org.python.util.PythonInterpreter; ``` 3. 接下来,您可以使用以下代码在Java中调用Python代码: ```java // 创建Python解释器 PythonInterpreter interpreter = new PythonInterpreter(); // 执行Python代码 interpreter.exec("print('Hello, World!')"); // 调用Python函数 PyObject someFunction = interpreter.get("some_function"); PyObject result = someFunction.__call__(); // 将Python对象转换为Java对象 String strResult = (String) result.__tojava__(String.class); ``` 4. 如果您想在Java中使用Runtime.getRuntime()来运行Python代码,可以使用以下代码: ```java // 创建Runtime对象 Runtime rt = Runtime.getRuntime(); // 创建Process对象来运行Python脚本 Process pr = rt.exec("python script.py"); // 获取脚本输出 BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream())); String line = null; while ((line = input.readLine()) != null) { System.out.println(line); } ``` 在此示例中,您需要将“script.py”替换为您要运行的Python脚本的名称或路径。请注意,如果Python脚本需要输入,您还需要使用Process对象的输出流将输入发送到脚本中。 希望这可以帮助您在Java中调用Python代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

wangxiaoming

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

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

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

打赏作者

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

抵扣说明:

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

余额充值