gpt4 book ai didi

java - 如何从 java 运行 python 脚本?

转载 作者:搜寻专家 更新时间:2023-10-31 19:41:59 24 4
gpt4 key购买 nike

我有这个 Java 应用程序并遇到了解析 STDF 的要求。

实际上,我只需要获取 stdf 文件的 FAR、MIR 和 MRR 部分。 sourceforge 上有一个 stdf4j,但由于缺少文档,我不能经常使用它。

解决方案是使用 stdfparser,它是用 python 编写的,相对更直接,更容易完成工作,实际上我已经根据需要对其进行了修改。

所以现在我只需要详细地调用这个脚本并用 Java 读取生成的文件,然后继续使用现有的应用程序。

问题是在使用时:

Process p = r.exec("cmd /c python parser.py sample_data.std.gz -v test.txt");

生成的文本文件始终为空白。 (请注意,我已经在实际命令行上运行了它并成功检索了我需要的内容。)

有没有什么我遗漏的,或者有更好的选择。 (我试图避免使用 jython,因为我无法在生产环境中安装它的 jar。)

最佳答案

您或许应该调用 p.waitFor(); 以便您的 Java 程序在外部进程完成执行之前不会继续运行。

更新 1:还要确保您正在读取 p.getErrorStream()p.getInputStream() 中的所有字节。否则可能会挂起进程。

更新 2:您可能还想检查进程返回代码中的错误代码。通过 waitFor() 的返回值访问进程返回码。

关于java - 如何从 java 运行 python 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4048435/

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