Java 中执行Python Runtime 方式实现

深入理解 JVM 原理
深入理解 JVM 原理
wangxiaoming

 

前提:

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

 

 

 

 

wangxiaoming CSDN认证博客专家 架构 Spring Boot Redis
博客是很好的总结和记录工具,如果有问题,来不及回复,关注微信公众号:程序员开发者社区,获取我的联系方式,向我提问,也可以给我发送邮件,联系 1275801617@qq.com
©️2020 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值