gpt4 book ai didi

java - 使用 Java 运行 Python 应用程序,然后解析其输出

转载 作者:行者123 更新时间:2023-12-02 11:49:03 26 4
gpt4 key购买 nike

我目前正在开发一个项目,该项目使用 Java 作为 GUI,并使用 Python 脚本来执行程序的主要功能。

我想知道是否有一种方法可以从应用程序目录中运行 python 脚本,然后将其输出发送到 GUI 程序进行解析。输出可以是 JSON/YAML/Plaintext 等(因此这将由 GUI 解析)。

两个选项我想到的(可能有效也可能无效)是:

  1. 单独运行 Python 程序并让它输出一个文件,然后由 Java 程序读取该文件(这是我最不喜欢的)
  2. 使用 ProcessBuilderRuntime.exec 运行 Python 程序。但是我如何获得输出?

如果我想到的两种选择都不可行或行不通,那么有没有办法做得更好?

谢谢!

最佳答案

Runtime.exec 为您提供一个输入流,可以将其包装在缓冲读取器中以解析输出。

      try {

Process p = Runtime.getRuntime().exec("python 1.py'");

BufferedReader stdInput = new BufferedReader(new
InputStreamReader(p.getInputStream()));

BufferedReader stdError = new BufferedReader(new
InputStreamReader(p.getErrorStream()));

// read the output from the command
System.out.println("Here is the standard output of the command:\n");
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}

// read any errors from the attempted command
System.out.println("Here is the standard error of the command (if any):\n");
while ((s = stdError.readLine()) != null) {
System.out.println(s);
}

System.exit(0);
}
catch (IOException e) {
System.out.println("exception happened - here's what I know: ");
e.printStackTrace();
System.exit(-1);
}

关于java - 使用 Java 运行 Python 应用程序,然后解析其输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48008855/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com