Java调用Python程序并向Python传值
2017-07-03 00:00
531 查看
摘要: java向python传值问题
最近用到Java向Python传值,找了好多的方法都是直接调用的程序,向python传值的少之又少 要不用了就报错说我缺少什么东西 要不就是没有权限什么的 很苦恼 经过翻阅资料 找到了很多的资料 最后还是解决了
这是在java的代码只需要将python的文件名 还有参数 还有python的地址写入进去即可
下面是python的代码
最后jobid就是我要传进的参数,这边就可以在后面直接用了
希望可以帮到大家。。。。。也算是一点经验
最近用到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就是我要传进的参数,这边就可以在后面直接用了
希望可以帮到大家。。。。。也算是一点经验
相关文章推荐
- python调用java程序--jpype
- Java程序中调用Python脚本的方法
- [Python]Python如何调用Java程序
- python调用java程序--jpype
- Java程序中实现调用Python脚本的方法详解
- Java调用Python程序方法总结(最全最详细)
- Java程序中调用Python脚本的方法
- python3调用java的webService小程序
- Java中调用python程序
- Runtime.getRuntime().exec()实现Java调用python程序
- python 调用 Java程序
- 使用JPype实现Python调用JAVA程序
- idea中通过java程序直接调用python文件
- 使用Jpype在python中调用Java程序
- python调用java程序--jpype
- ABAP--一个极好的调用外部java程序的Search Help Exit的实例(RFC好例子)
- ABAP--一个极好的调用外部java程序的Search Help Exit的实例(RFC好例子)
- java执行命令或调用其他exe程序的代码范例
- ABAP--一个极好的调用外部java程序的Search Help Exit的实例(RFC好例子)
- ABAP--一个极好的调用外部java程序的Search Help Exit的实例(RFC好例子)