java调用python脚本传参
2017-01-11 15:26
531 查看
1、不传参调用
如果python 中有print 则必须加Buffer那三行,不然数据不能输出,会导致线程阻塞
2、传参
python 代码test.py
首先要import getopt模块,
package test; import java.io.BufferedReader; import java.io.InputStreamReader; public class demo { public static void main(String[] args) throws Exception { try{ String s; Process rt=Runtime.getRuntime().exec("python D:\\eclipe\\python\\controller.py"); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(rt.getInputStream())); while((s=bufferedReader.readLine()) != null){ System.out.println(s);} rt.waitFor(); }catch(Exception e ){ e.printStackTrace(); } } }
如果python 中有print 则必须加Buffer那三行,不然数据不能输出,会导致线程阻塞
2、传参
python 代码test.py
options,args = getopt.getopt(sys.argv[1:], "", ["caption=","proc_name="]) if options != []: for name,value in options: if name == '--caption': CAPTION = value if name == '--proc_name': PROC_NAME = value
首先要import getopt模块,
函数getopt(args, shortopts, longopts = [])
第一个一般是固定格式,如代码所写,第二个是短格式(-)第二个是长格式(--),比较习惯用长格式
代码中第一行的意思是,传入两个参数,第一个参数名称为caption,第二个为proc_name,长格式
传递写法
python test.py --caption value_caption --proc_name value_proc_name
修改后的java代码
package test; import java.io.BufferedReader; import java.io.InputStreamReader; public class demo { public static void main(String[] args) throws Exception { try{ String s; Process rt=Runtime.getRuntime().exec("python D:\\eclipe\\python\\controller.py --caption value --proc_name value"); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(rt.getInputStream())); while((s=bufferedReader.readLine()) != null){ System.out.println(s);} rt.waitFor(); }catch(Exception e ){ e.printStackTrace(); } } }
相关文章推荐
- 在Java中动态传参调用Python脚本
- java 利用Runtime.getRuntime().exec()调用python脚本并传参
- java 利用Runtime.getRuntime().exec()调用python脚本并传参
- 在Java中动态传参调用Python脚本
- java传参调用python脚本得到爬取图片路径
- java动态传参调用python脚本
- Java调用Python脚本(需要传参)
- java直接调用python脚本的例子
- Java调用Python脚本
- java 直接调用python脚本,并传递参数
- Java程序中调用Python脚本的方法
- Java执行Python脚本并传参
- 使用Runtime.getRuntime().exec()在java中调用python脚本
- java调用shell脚本并传参
- java调用python脚本文件大盘点
- java调用python脚本
- Java调用Python脚本
- selenium python脚本调用java script 报Message: u'$ is not defined' ; Stacktrace 的解决历程
- 在java中调用python脚本
- 【原】Gradle调用shell脚本和python脚本并传参