当然,一种需求的实现可能有很多种方式可以选择,经过筛选选择了使用Runtime对象执行脚本返回运行过程的方式,然后将返回的过程结果转换为流最后进行遍历输出。
【阅读全文】
在C盘下面创建一个hello_world.py文件作为python脚本的演示文件,填写内容为:
print("======================") print("hello world") print("======================")
编写java调用脚本:
package main_proj; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) { // 创建运行过程 Process proc; try { // 通过exec()函数执行python命令运行.py脚本,返回存储过程 proc = Runtime.getRuntime().exec("python C:\\hello_world.py"); // 将返回返回的运行过程转化为存储流 BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream())); // 构建行数据对象 String line = null; // 逐行读取、打印结果 while ((line = in.readLine()) != null) { System.out.println(line); } // 关闭输入流 in.close(); proc.waitFor(); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } } }
【往期精彩】
● 如何使用PyQt5一步步实现用户登录GUI界面、登录后跳转?
● 办公自动化:几行代码将PDF文档转换为WORD文档(代码实战)!
● 办公自动化:轻松提取PDF页面数据,并生成Excel文件(代码实战)!
● sched 模块中巨好用的轻量级定时任务神器scheduler!
● 不用再使用命令行打包成exe,有人写出了UI应用,可视化UI界面对python程序进行打包的方法!
● 发现一个秘密:既python3.6之后字典竟然变成了有序集合,我再次验证了一下!
● 这么多的内置函数能记住吗?对python的68个内置函数分类总结!
● 必须要会的文件操作对象File,python文件读写操作利器!
● 你不知道的CS模式的进程管理工具,状态监测、项目启停一目了然!
● 如何将一个python应用以docker镜像的方式来运行?
● python-celery专注于实现分布式异步任务处理、任务调度的插件!
● python远程服务操作工具:fabric,远程命令、本地命令、服务器操作利器!
● python超赞插件you-get,执行一行命令即可下载、命令行下载工具推荐!
● 办公自动化:Python-win32com自动将word文档转换成pdf格式!