Java调用Python传list(多个list,不同类型list)参数

这篇博客详细介绍了如何在Java中通过Runtime调用Python程序,并传递不同类型的list参数。内容包括如何传一个字符串、一个list集合以及两个list集合,并强调了在Python中返回值需通过print语句输出,因为Java无法直接获取Python的return结果。同时,博主遇到了当list元素过多时导致的错误,分享了一个解决方案链接。
摘要由CSDN通过智能技术生成

1、通过Runtime进行调用

1.1 传一个字符串
  • java文件
public class CoalType {
    public static String coalType_list(String data) {
        String arr = null;
        try {
            String[] arg = new String[] { "E:\\Program Files\\Python36\\python.exe", "E:\\Test\\test\\qiting.py",data};
            Process proc = Runtime.getRuntime().exec(arg);// 执行py文件

            BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
            String line = null;
            while ((line = in.readLine()) != null) {
                arr = line;
            }
            in.close();
            proc.waitFor();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return arr;
    }

    public static void main(String[] args) {
        String data = "Lisa";
        String test_name = CoalType.coalType_list(data);
        System.out.println(test_name);
    }
}
  • py文件
import numpy as np
import sys as ss
        
def main():
	print (ss.argv[1])

if __name__ == '__main__':
    main()
  • 结果
Lisa

如下图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值