Java调用python脚本

最近也是刚开始学python,所以这里写了一个简单的小方法用Java来调用python脚本。后期再进行更新。

1、Java启动程序的方法

在Java中提供了两种方法来启动其他程序:
1. 使用Runtime的exec()方法
2. 使用ProcessBuilder的start()方法 。
本文中使用exec()方法来调用python脚本。

2、首先准备一个python程序

小编这里准备了一个最简单的python程序——单词反转。
直接上代码吧。

def reverse(str_list,start,end):while start<end:str_list[start], str_list[end] = str_list[end],str_list[start]start +=1end -=1setence = ' Hello, how are you?   Fine.  '
str_list = list(setence)
i=0
while i<len(str_list):if str_list[i] !=' ':start = iend = start + 1while (end < len(str_list)) and str_list[end] !=' ':end +=1reverse(str_list, start, end -1)#先把每个单词进行反转i = endelse:i += 1
str_list.reverse()#然后再把整个字符串进行反转
print(''.join(str_list))

3、通过Runtime.getRuntime()开启进程来执行脚本文件

Java代码如下:

//导入读取文件的包
import java.io.BufferedReader;
import java.io.InputStreamReader;
//定义类名
public class JavaConPython{//主函数入口public static void main(String[] args) {//定义新的字符串String[] arguments = new String[] {"python", "E:\\练习\\python\\单词反转.py"};try {//执行命令调用程序Process process = Runtime.getRuntime().exec(arguments);//取得命令结果的输出流,用一个读输出流类去读,用缓冲器读行  BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));String line = null; ////直到读完为止 while ((line = in.readLine()) != null) {  System.out.println(line);  }  in.close();  //调用Process.waitFor()来等待命令执行结束,获取执行结果int re = process.waitFor();  System.out.println(re);//抛出异常} catch (Exception e) {e.printStackTrace();}  }
}

4、实现结果

python中运行的结果:

eclipse中运行的结果:

在此需要注意的一点,java代码中的process.waitFor()返回值为0表示我们调用python脚本成功,返回值为1表示调用python脚本失败,这和我们通常意义上见到的0与1定义正好相反。

Java调用python脚本相关推荐

  1. java 调用python脚本过程_通过Java调用Python脚本

    在进行开发的过程中,偶尔会遇到需要使用Java调用Python脚本的时候,毕竟Python在诸如爬虫,以及科学计算等方面具有天然的优势.最近在工作中遇到需要在Java程序中调用已经写好的Python程 ...

  2. java执行python返回null_[转]java调用python脚本以及通过Process.waitFor()直接调用python模块返回错误代码1的一种解决办法...

    常见的java调用python脚本方式 通过jython提供的类库实现 通过Runtime.getRuntime()开启进程来执行脚本文件 通过jython提供的类库实现 通过jython实现的话,我 ...

  3. Java调用Python脚本:轻松实现两种语言的互操作性

    Java和Python都是非常流行的编程语言,它们都有自己的优点,但也有自己的局限性.在编写应用程序时,我们可能需要使用两种语言来共同完成一项任务.在这种情况下,Java需要调用Python脚本来解决 ...

  4. java执行python脚本_通过Java调用Python脚本

    在进行开发的过程中,偶尔会遇到需要使用Java调用Python脚本的时候,毕竟Python在诸如爬虫,以及科学计算等方面具有天然的优势.最近在工作中遇到需要在Java程序中调用已经写好的Python程 ...

  5. windows10中java调用python脚本

    文章目录 1. windows基础环境 1.1 java安装 1.1.1 下载jdk(版本可自选) 1.1.2 安装jdk 1.1.3 配置java环境变量 1.2 python安装 1.2.1 py ...

  6. linux下java调用python脚本,java - 在Linux Terminal中以编程方式从Java调用python脚本 - 堆栈内存溢出...

    我正在开发一个Java应用程序,用于检查源文件中的补丁程序(是否存在). 用于检测补丁程序更改的核心逻辑位于python脚本[titled'patch.py​​']中,并且我的Java应用程序与此Py ...

  7. Java调用python脚本,进程长时间卡住问题

    Java项目调用python脚本,执行时python脚本一直卡在某一步骤,不继续执行,经查找发现是python代码中加了 print 打印语句导致缓冲区满,我的方法是直接去除 print 打印就好了, ...

  8. 使用GraalVM实现java调用python脚本

    背景说明 在很多场景下,我们都有从java调用脚本的功能,常用的有groovy脚本,pyhon脚本和js等.在上篇中,列举了java调用pyhton脚本的几种方案,并最终选取了JEP的方式,但是随着业 ...

  9. Java 调用 Python 脚本

    实际工程项目中可能会用到 Java 和 python 两种语言结合进行,这样就会涉及到一个问题,就是怎么用 Java 程序来调用已经写好的 python 脚本呢,一共有四种方法可以实现: 1.在 ja ...

最新文章

  1. Mtk Android编译命令
  2. Android keymaster4.0- device集成笔记
  3. Exp6 信息收集与漏洞扫描 20164314
  4. java五子棋用到的类_JAVA五子棋用到的知识点以及方法类有哪些?
  5. 一个产品经理的自述:我在腾讯工作的这一年(转)
  6. package org.apache.hadoop.conf does not exist解决
  7. MVC4发布到IIS7报404错误
  8. 前端框架 Bootstrap 5.0 alpha 发布
  9. 大数据中数据挖掘的基本步骤
  10. javascript生成m位随机数
  11. 在ubuntu下安装openjdk
  12. 用cmd 查看本机的IP地址
  13. 运用Excel实现描述性统计分析
  14. 模型调参(一):weight decay(权重衰减)【“权重衰减”也叫“L1/L2正则化”】【权重衰减系数:正则项系数 λ】【对参数w有影响、对偏置b没影响】【偏置不加正则】
  15. 中国首台超级计算机“天河一号,我国首台超级计算机“天河一号”超负荷运行...
  16. 记录--WebSocket 原理
  17. 计网PPT 第八章 互联网上的音频和视频服务
  18. 安防厂商网络摄像机常用rtsp地址及端口
  19. FCPX:镜头故障抖动效果TOBK TWITCH for Mac
  20. 来了!中国IT就业市场,最景气的岗位非它莫属!

热门文章

  1. mongodb高可用性架构---Replica Set
  2. 中消协:警惕以治病为噱头的保健品虚假宣传行为
  3. Appium之创建、连接夜神模拟器
  4. Linux系统搭建FTP服务器
  5. 异常详细信息: System.ArgumentException: 不支持关键字: “metadata”。
  6. 参加“北向峰会”后对SOC之感言
  7. [tomcat7源码学习]结束Bootstrap进入Catalina
  8. 更好的内存管理-jemalloc (redis 默认使用的)
  9. jota-time 练习
  10. listview改变选中行字体颜色