如何从Java执行Python脚本?
发布时间:2020-10-19 06:21:34 所属栏目:Java 来源:互联网
导读:我可以从 Java执行像ls或pwd这样的 Linux命令,但是不能执行 Python脚本. 这是我的代码: Process p;try{ System.out.println(SEND); String cmd = /bash/bin -c echo password| python script.py + packet.toString() + ;
|
我可以从 Java执行像ls或pwd这样的 Linux命令,但是不能执行 Python脚本. 这是我的代码: Process p;
try{
System.out.println("SEND");
String cmd = "/bash/bin -c echo password| python script.py '" + packet.toString() + "'";
//System.out.println(cmd);
p = Runtime.getRuntime().exec(cmd);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String s = br.readLine();
System.out.println(s);
System.out.println("Sent");
p.waitFor();
p.destroy();
} catch (Exception e) {}
什么都没发生.它达到了SEND,但它刚刚停止了… 我正在尝试执行一个需要root权限的脚本,因为它使用串行端口.另外,我必须传递一些带有一些参数(数据包)的字符串. 解决方法您不能像您的示例中那样在Runtime.getRuntime().exec()中使用PIPE. PIPE是外壳的一部分.你也可以做 >将命令放在一个shell脚本中,然后使用.exec()或 String[] cmd = {
"/bin/bash","-c","echo password | python script.py '" + packet.toString() + "'"
};
Runtime.getRuntime().exec(cmd); (编辑:长春站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- java – 将Netbeans项目转换为eclipse项目
- 浅谈java中BigDecimal的equals与compareTo的区别
- 如果您在Java中显式初始化Object数组,那么包含与
- Hibernate框架中的缓存技术详解
- Java中的private、protected、public和default的
- JSON复杂数据处理之Json树形结构数据转Java对象并
- java – 从eclipse中的包访问引用的库
- java加密算法--MD5加密和哈希散列带秘钥加密算法
- java – Retrofit 2.0抛出“IllegalArgumentExce
- java – 如何从活动的Eclipse编辑器中获取当前的
热点阅读
