【问题标题】:java: getRuntime().exec() passing arguments to a Python programjava: getRuntime().exec() 将参数传递给 Python 程序
【发布时间】:2014-12-15 04:34:05
【问题描述】:

我正在尝试将运行并将参数传递给 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 代码将使用的参数吗?

【问题讨论】:

    标签: java python parameter-passing


    【解决方案1】:

    您确实传递了错误的论点。您需要将每个参数作为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);
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2018-04-14
        • 1970-01-01
        • 2012-11-08
        • 1970-01-01
        • 2021-01-10
        • 1970-01-01
        • 2018-08-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多