java简易调用python,并传参

场景:做数据计算,传入(int) a,b 返回结果c(可以为一个或多个结果)
注意:该方法实质上是获取python的输出(print)的值,与python中方法定义的返回值无关

python脚本写法: 该py文件可以理解为返回了两个值,----print方法使用了两次,输出的两个即为java中获得的值

import sys

num1=sys.argv[1]
num2=sys.argv[2]
def add(num1,num2):
   all= int(num1) + int(num2)
   print(all)
   print(success)

add(num1,num2);

java中main方法调用,如果是方法互相的调用,则将其中的ArrayList对象返回即可

public static void main(String[] args) throws Exception{
          
   
		//python文件的路径
        String path="C:\XXX\Desktop\add.py";
        //数组顺序依次为,py 即本地python的执行命令,路径,参数1,参数2,参数3.....
        String[] cmdArr = new String[] {
          
   "py", path,"10","20"};
        Process process = Runtime.getRuntime().exec(cmdArr);
        InputStream is = process.getInputStream();
        BufferedReader in = new BufferedReader(new InputStreamReader(is));
        String line = null;
        ArrayList<String> strings = new ArrayList<>();
        while ((line = in.readLine()) != null) {
          
   
            System.out.println(line);
            strings.add(line);
        }
        in.close();
        process.waitFor();
    }

运行结果如下,

经验分享 程序员 微信小程序 职场和发展