java - ProcessBuilder 无法运行带有参数的 python 脚本

标签 java processbuilder

好的,我有一个通过 ProcessBuilder 运行的 python 脚本。一切正常。我遇到的问题是,每当我将参数传递给 python 脚本时,python 脚本都会以 unrecognized argumets 响应。但是,如果我采用确切的命令并将其复制并粘贴到命令提示符中,它运行得非常好。有什么帮助吗?这是我现在所拥有的总体思路:

ProcessBuilder builder = new ProcessBuilder("C:\Python33\" + "python.exe","-u", "C:\...\script.py", "--arg1 " + "argumentValue");
p = builder.start();

最佳答案

将两个单独的参数传递给 ProcessBuilder 而不是连接 --arg1argumentValue:

ProcessBuilder builder = new ProcessBuilder("C:\\Python33\\python.exe",
                                            "-u",
                                            "C:\\...\\script.py,
                                            "--arg1",
                                            "argumentValue");

否则要执行的程序将看到它无法识别的单个参数 --arg1 argumentValue

关于java - ProcessBuilder 无法运行带有参数的 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15980057/

相关文章:

Java ProcessBuilder 不适用于 wkhtmltopdf

java - 在 Java 中转换为未绑定(bind)泛型

Java和sudo命令执行

java - 如何在Hashmap中添加与key对应的列表元素?

java - XMLAdapter:可配置的日期格式

Java ProcessBuilder : Resultant Process Hangs

java - ProcessBuilder 重定向输出

java - 设置 LD_LIBRARY_PATH =`pwd` 的 Shell 脚本在 Java 中不起作用

java user.home 以本地语言返回

java - 使用 Google AppEngine 开发服务器发送测试电子邮件