java:getRuntime()。exec()将参数传递给Python程序

时间:2014-12-15 04:34:06

标签: java python parameter-passing

我试图传递run并将参数传递给python程序并遇到麻烦。 这就是我现在正在做的事情:

String[] testCases=readIn("C:\\xampp\\htdocs\\development\\"+folder+"\\testCases.txt");
                String arguements="";
                for(int i=0; i<testCases.length; i++)
                {
                    if(i==0)
                    {
                        arguements=testCases[i]+" ";
                    }
                    else
                    {
                    arguements=arguements+testCases[i]+" ";
                }
                command= new String[]{"C:\\Python27\\python.exe","C:\\xampp\\htdocs\\development\\"+fileName, arguements};
Process process=Runtime.getRuntime().exec(command);

我很确定我正确传递了论据。有没有什么方法可以表明它们是我的Python代码会讨论的参数?

2 个答案:

答案 0 :(得分:0)

你确实错误地传递了这些论点。您需要将每个参数作为字符串传递到command数组中。如,

command = new String[arguments.length + 2];
command[0] = "C:\\Python27\\python.exe";
command[1] = "C:\\xampp\\htdocs\\development\\" + fileName;
System.arraycopy(arguments, 0, command, 2, arguments.length);

答案 1 :(得分:0)

尝试打印到达控制台的最终命令,并在命令行中执行该命令。 您将能够挖掘确切的错误。