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();
        }
    }
}
复制代码

 

posted @ 2024-01-13 20:45  风·华正茂  阅读(16)  评论(0编辑  收藏  举报