java调用python获取错误信息_Java调用Python的错误

本文讲述了在Java中调用Python脚本时遇到的错误,强调Runtime.getRuntime().exec()方法不能传递形参,而应该直接传入完整命令。作者还介绍了使用Jython来解决参数传递问题,但遇到导入Python第三方库的挑战,分析了可能与Python版本不兼容有关,并提出了重写Python代码为Python 2的解决方案。
摘要由CSDN通过智能技术生成

date: 2017-03-14 21:54:21

因为这篇Java调用Python 之前试过用Java调用Python,到真正用的时候才发现是一个乌龙。

error

错误就是我的程序太多了,程序命名混乱,导致执行了不该执行的程序,而我以为它跑通了。

这个方法:

Runtime.getRuntime().exec("python D:\\studentdb.py id password");

并不能传递形参!!!

只可以这样使用:

Runtime.getRuntime().exec("python D:\studentdb.py 12345678 666666");

这样是可以把学号和密码传入Python文件,并且执行。

而前者的形参方法,是会直接把形参当成字符串直接传进Python...

这也就是说,这个方法只可以传递字符串。

前几天调到半夜发现的真理。

那么还有解决办法吗?

肯定有,要么是我不知道,要么是我不会。

新方法Jython

查找资料发现这个第三方包是可以用来传递Python参数并且执行代码。

之前也有注意到这个方法,但是由于考虑到它的复杂性,和Runtime.getRuntime().exec()方法的简单性,就没有往这里想,毕竟程序员是最懒的。

首先得下载Jython这个第三方包。

调试记录

1、console: Failed to install '': java.nio.charset.UnsupportedChar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值