java调用python程序

1.调用python程序不需要传参只需获得结果时:

直接新建java文件,然后新建Process对象调用python程序:

public static void main(String[] args) {

try{

Process pr = Runtime.getRuntime().exec("python D:\\a.py");//如果python没有配置到环境变量中,则需使用python的完整路径

//获取python文件运行后的输出

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("over");

} catch (Exception e){

e.printStackTrace();

}

}


a.py中的代码为:

#coding=utf-8

import numpy as np

x=np.array([1,2,3])

print(x)


2.python程序需要参数才能运行:

a.py中的代码:

#coding=utf-8

import sys

if __name__=='__main__':

    para1=sys.argv[1]

    para2=sys.argv[2]

    print(para1)

    print(para2)

#sys.argv 用来获取命令行参数


java程序中,process直接执行带参数的python指令,其他的与1中相同

Process pr = Runtime.getRuntime().exec("python D:\\Code\\a.py input1  input2");

需要注意的是,python代码中sys.argv[1]获取的是input1,sys.argv[2]获取的是input2,sys.argv[0]获取的则是D:\\Code\\a.py

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容