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(); } } }