1.13寒假每日总结4
今天,主要尝试了在java中调用已有的python脚本并输出相关信息。
参考:百度文心一言的回复。
package test0113;
import java.io.*;
public class test {
public static void main(String[] args) {
try {
// 指定Python解释器的路径
String pythonPath = "D:\\softdata\\Anaconda_envs\\envs\\paddle_env\\python.exe";
// 调用Python脚本,例如:"script.py"
String[] cmd = new String[] { pythonPath, "D:\\develop\\PycharmProjects\\paddle\\test.py" };
// 创建ProcessBuilder对象
ProcessBuilder pb = new ProcessBuilder(cmd);
// 启动进程并等待完成
Process p = pb.start();
// 原始没有注释,不知道为什么不注释会卡死
// p.waitFor();
// 获取进程的标准输出流和标准错误流
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));
// 打印进程的标准输出流信息
String s;
while ((s = stdInput.readLine()) != null) {
System.out.println("Standard Output of the Python script: " + s);
}
stdInput.close();
// 打印进程的标准错误流信息
while ((s = stdError.readLine()) != null) {
System.out.println("Standard Error of the Python script: " + s);
}
stdError.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}



浙公网安备 33010602011771号