java调Python脚本(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 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脚本(二)》进一步完善!

猜你喜欢

转载自blog.csdn.net/ailo555/article/details/82852257