在 Java 中运行 Python 脚本

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package org.amane.processTest;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
public static void main(String[] args) {
try {
var path = "E:/文档/Code/Python/processTest/main.py"; // 脚本路径
var processBuilder = new ProcessBuilder("python", path); // 构建进程
processBuilder.redirectErrorStream(true); // 合并标准输出和错误输出
var process = processBuilder.start(); // 启动进程

// 获取脚本输出
var reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) System.out.println(line);

// 获取脚本错误输出
// var errorReader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
// while ((line = errorReader.readLine()) != null) System.err.println(line);

// 等待脚本执行完毕
int exitCode = process.waitFor();
System.out.println("Exited with code: " + exitCode);

} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}