版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ailo555/article/details/82852257
java通过runtime.getruntime().exec()调Python脚本,这是其中的一种方试,也是比较常用的方式。
1、Python脚本:
# -*- coding:utf-8 -*-
"""
@author:ailo55
@file:add.py
@time:2018/9/26 13:58
"""
if __name__ == '__main__':
print("java 调Python脚本,成功了!")
2、java程序代码:
public static void main(String[] args) {
try {
System.out.println("run start....");
//数组的第一个参数Python命令,第二是Python脚本文件的绝对路径
String[] args1 = new String[] { "python", "C:\\fintel\\pytools\\add.py"};
Process pr = Runtime.getRuntime().exec(args1);//执行脚本命令
BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
pr.waitFor();
System.out.println("run end....");
} catch (Exception e) {
e.printStackTrace();
}
}
3、运行结果,Python用print()将结果打印返回:
已经可以成功通过java调Python的脚本了,但是发现了一个问题,那就是返回的结果是乱码了!!!应该是java和Python脚本那边编码格式有出入了,下一节《java调Python脚本(二)》进一步完善!