在我的程序中,我正在使用Processbuilder运行命令。
该命令实际上是执行python脚本。 无论脚本打印什么,我只是通过打印输入流将其显示在控制台中。
问题是,在 Python 脚本中有一个 if 条件,条件除了是或否之外继续脚本。
我不知道如何输入是或否进程内生成器。
请帮助我解决问题。
最简单的方法是使用 inheritIO()
。使用此选项,您可以将 java 控制台用作 python 程序的 stdio。您的 Java 程序将运行用于 java 和 python 程序的 python 代码和控制台,因此您可以通过 java 控制台提供输入。
ProcessBuilder test = new ProcessBuilder("python", PATH_OF_YOUR_PY_PROGRAM);
test.inheritIO();
Process process = test.start();
process.waitFor();
注意:inheritIO()
使用控制台进行输入和输出,因此通过激活此选项,整个 Python 输出也将在 Java 控制台中打印。