本文记录的方法是使用Runtime.getRuntime()执行脚本文件
本方法适合Python脚本有调用第三方库
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Demo {
public static void main(String[] args) {
Process proc;
try {
//使用系统默认的Python版本
//String[] ars={"Python","D:\\demo.py"};
//使用指定的Python版本,但是需要把脚本放在和Python.exe同个目录下
//这里采用的是先执行bat文件再通过Dos执行Python脚本的方法
//ars第一个元素为bat路径,第二个为Python路径
String[] ars={"C:\\Users\\as\\Desktop\\RunPython.bat","D:\\Anaconda"};
// 执行py文件
proc = Runtime.getRuntime().exec(ars);
//用输入输出流来截取结果
BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
proc.waitFor();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
bat文件内容
@echo off
set path = %1
D:
cd %path%
start python demo.py
exit