Java在指定路径下执行cmd命令的方法

2022-05-13 08:44:49 浏览数 (1)

目前状态:毕业设计ing

背景:

做毕设时,由于需要将python的运行效果展示出来,所以使用了Java写了一个前端的界面。但是在使用Java对python的脚本进行调用时就尴尬了,出错……

这里也许有人会疑问了,为什么不使用Django呢,就我个人而言吧,对Django使用的不是很熟悉,尽管它很方便,然而我学习过一年的企业级应用开发,索性就使用了Java进行开发。

问题:

开始想着在maven的pom.xml中配置一个python的接口直接调用已经封装好的python脚本,结果尴尬了,调用一般的文件都没问题,唯独对我封装的cmd命令出错,希望大神解答……

代码语言:java复制
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.execfile("E:/Java_project/Covid_19/src/main/Runing.py");
代码语言:python代码运行次数:0复制
import os
import  time
os.system('python detect.py --data-cfg data/rbc.data --cfg cfg/yolov3-tiny.cfg --weights weights/best.pt')
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

解决:

尝试了很多次,无果。索性跳出这个方法的限制,于是询问了老友月小水长(欢迎关注哈,干货满满的一位博主且具有丰富的开发经验)。他告诉我:跨语言调用会出现很多的错误;并给了我一些建议……

但是我还是想尝试使用Java的方式,最后使用Runtime.getRuntime().exec()方法解决了

代码语言:java复制
Runtime.getRuntime().exec("参数1",null,
                new File("参数2"));

解释:

参数1的位置为命令;

参数2的位置为执行命令的具体路径;

例如你想在: C:UsershuzixuanDesktopDataSet的路径下执行: hello.py文件就可以这样写

代码语言:java复制
Runtime.getRuntime().exec("python hello.py",null,
                new File("C:UsershuzixuanDesktopDataSet"));

由于笔者能力有限,在表述上可能有些欠缺,还请多多包涵…………

0 人点赞