Führen Sie Python-Skript aus Java

Ich versuche zu laufen .py Skript in Java, aber wenn ich den java-code ist es nicht zeigen, keine Ausgabe. Was mache ich falsch? Ich habe versucht mit:

ArrayList<String> command = new ArrayList<String>();
    //xterm will be launched, if platform is Linux.
    command.add("xterm");
    command.add("-c");
    command.add("python");
    command.add("/home/clef/Escritorio/use_archive.py");
    command.add("/home/clef/classification/STOP_WORDS.tar.gz");
    command.add("/home/clef/Escritorio/Prueba_linea/000006/6.jpg");
    command.add(" > ~/Escritorio/mike.txt");
    //command.add("--revert");    //switch to revert the patch

    ProcessBuilder pb = new ProcessBuilder(command);

    Process p = null;

    if (pb != null) {

        try {
            p = pb.start();
        } catch (IOException e) {
            e.printStackTrace();
        }
        if (p != null) {
            try {
                p.waitFor();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
    BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));

    String line = "";
    ArrayList<String> allOut = new ArrayList<>();
    System.out.println("salida");
    try
    {
        System.out.println("SALIDA-----------:");
        while ((line = reader.readLine())!= null)
        {
            System.out.println(line);
            allOut.add(line);
        }
    } catch (IOException ex)
    {
        //allOut = "0";
        //Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        //System.out.println("erro3");        }
        System.out.println("error");
    }

Das Skript ist von NVIDIA ZIFFERN framewrok, aber ich kann nicht laufen python-Skript aus Java. Wenn ich das .py Skript im terminal bekomme ich die Ausgabe:

Unknown file: solver.prototxt
    Unknown file: train_val.prototxt
    Processed 1/1 images in 0.076470 seconds ...
    -------- Prediction for /home/clef/Escritorio/Prueba_linea/000006/6.jpg --------
     51.4607% - "0"
      7.7899% - "1"
      5.7782% - "2"
      5.6086% - "3"
      5.2513% - "4"

    Script took 0.523756 seconds.
Warum sind Sie mit xterm?
Ich habe auch versucht mit /bin/bash aber nicht gut funktionieren
Sie brauchen nicht zu verwenden, python läuft von selbst...
Ich denke so, aber das script funktioniert nicht wenn ich es ausführen von java, ich versuche Befehle wie 'ls' - 'cd ..' aber ich kann nicht, ausführen von python-Skripten aus java.
Was meinst du damit es 'funktioniert nicht'

InformationsquelleAutor tonsquemike | 2016-04-16

Schreibe einen Kommentar