gpt4 book ai didi

java - 从 Java 调用 Python 代码的问题(不使用 jython)

转载 作者:搜寻专家 更新时间:2023-11-01 03:15:38 24 4
gpt4 key购买 nike

我发现这是从 java 运行(使用 exec() 方法)python 脚本的方法之一。我在 python 文件中有一个简单的打印语句。但是,我的程序在运行时什么也不做。它既不打印用 python 文件编写的语句,也不抛出异常。该程序什么都不做就终止了:

Process p = Runtime.getRuntime().exec("C:\\Python\\Python36-32\\python.exe C:\\test2.py");

即使这样也没有创建输出文件:

Process p = Runtime.getRuntime().exec("C:\\Python\\Python36-32\\python.exe C:\\test2.py output.txt 2>&1");

问题是什么?

最佳答案

我想您可以试试 ProcessBuilder 类的运气。

如果我正确阅读了 Oracle 文档,std 输入和输出默认定向到管道但是 ProcessBuilder 有一个简单的方法让您显式 set output (or input) to a file on your system or something else .

如果您希望 Python 程序使用与 Java 程序相同的输出(可能是 stdout 和 stderr),您可以像这样使用 stg:

ProcessBuilder pb = new ProcessBuilder("C:\\Python\\Python36-32\\python.exe", "C:\\test2.py");
pb.redirectOutput(Redirect.INHERIT);
Process p = pb.start();

关于java - 从 Java 调用 Python 代码的问题(不使用 jython),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54359170/

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