文档章节

Java调用Python程序并向Python传值

Gavin_W
 Gavin_W
发布于 2017/07/03 09:58
字数 289
阅读 118
收藏 0

最近用到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就是我要传进的参数,这边就可以在后面直接用了  

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

© 著作权归作者所有

共有 人打赏支持
Gavin_W
粉丝 8
博文 28
码字总数 6776
作品 0
朝阳
程序员
私信 提问
Py4J —— Python 和 Java 的互调接口

Py4J 使得 Python 程序可以利用 Python 解释器直接调用Java虚拟机中的 Java 对象,也可以让 Java 调用 Python 对象,有点像 Python 版的 JNI。...

红薯
2010/10/02
134
0
微服务跨语言 gRPC 之 Java & Python

本文旨在说明 spring-boot-starter-grpc 框架与 Python 之间跨语言 RPC 调用的友好实现。阅读本文前,请详细阅读 wiki文档,以便了解 的工作原理。 Java Server & Client 模块说明: sample...

Anoyi
2018/09/29
0
0
(转载)Python 的 JPype 模块调用 Jar 包

Python 的 JPype 模块调用 Jar 包 import os.path startJVM("F:/Java/jdk1.8.0_45/jre/bin/server/jvm.dll", "-ea") java.lang.System.out.println("hello World") shutdownJVM() import jp......

江诗
2018/03/21
0
0
Java中如何调用python的API?

我想在java程序中调用一个python程序的API。一开始采用的是jython,但是总是提示说python程序的某一个库无法找到。我查了这个python程序的源代码,是基于python2.6的,引用了一个python2.6的...

每天多一点
2012/05/08
3.9K
3
python解析器--版本--IDE环境

-- --python 版本---解析器---------------------------------------------------------------------------- -- --5-----------Python 工具-------------数据专家必知必会的 7 款 Python 工具......

liapple6
2018/10/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS5.11配置Let's Encrypt免费证书

安装环境: [root@WQ02 opt]# lsb_release -aLSB Version::core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd6......

m_lm
40分钟前
1
0
看看Canonical分享的2018年的十大Linux Snap

导读 Linux在2018年最令人耳目一新的一个方面是Snaps的普及。 Canonical透露,集装箱化的包装已经取得了巨大的成功。今天,Ubuntu制造商分享了2018年的十大Snap。 随着2018年即将结束,我发现...

问题终结者
53分钟前
3
0
天啦噜!在家和爱豆玩"剪刀石头布",阿里工程师如何办到?

阿里妹导读:如今,90、00后一代成为消费主力,补贴、打折、优惠等“价格战”已很难建立起忠诚度,如何与年轻人建立更深层次的情感共鸣?互动就是一种很好的方式,它能让用户更深度的参与品牌...

阿里云官方博客
今天
2
0
聊聊flink的Table API及SQL Programs

序 本文主要研究一下flink的Table API及SQL Programs 实例 // for batch programs use ExecutionEnvironment instead of StreamExecutionEnvironmentStreamExecutionEnvironment env = Stre......

go4it
今天
3
0
mysqldump应用

备份单个库/表数据或库/表结构 命令行下具体用法如下: mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 备份文件名 1、导出数据库为dbname的表结构(其中用戶名為root,密码为dbpasswd,生成的...

阿dai
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部