Java调用Python程序并向Python传值
Java调用Python程序并向Python传值
GuGu-Gavin 发表于10个月前
Java调用Python程序并向Python传值
  • 发表于 10个月前
  • 阅读 41
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】买域名送云解析+SSL证书+建站!>>>   

摘要: java向python传值问题

最近用到Java向Python传值,找了好多的方法都是直接调用的程序,向python传值的少之又少 要不用了就报错说我缺少什么东西  要不就是没有权限什么的 很苦恼  经过翻阅资料  找到了很多的资料 最后还是解决了


	public static  void runbat(int jobId) throws IOException, InterruptedException {
		
		
            //需传入的参数
            String  a =String.valueOf(jobId);
            
            System.out.println("start;;;" + a);
            //设置命令行传入参数
            String property1 = System.getProperty("user.dir");
    		String pythonpath = property1 + "\\config\\winddaydata.py";	
            String[] args = new String[] { "python", pythonpath, a};
            Process pr = Runtime.getRuntime().exec(args);

            BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
            String line;
            while ((line = in.readLine()) != null) {
              //  line = decodeUnicode(line);
                System.out.println(line);  //python打印流
               
            }
            in.close();
            pr.waitFor();
            System.out.println("end");  
	}

这是在java的代码只需要将python的文件名 还有参数  还有python的地址写入进去即可

下面是python的代码

print ("winddaydata", sys.argv[0])     
    for i in range(1, len(sys.argv)):   //遍历传进的参数
        print ("par", i, sys.argv[i])
        jobId=sys.argv[i]    //传入的参数

最后jobid就是我要传进的参数,这边就可以在后面直接用了  

希望可以帮到大家。。。。。也算是一点经验

标签: Java Python
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 6
博文 28
码字总数 6776
×
GuGu-Gavin
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: