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'
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies:
Exec läuft system-Befehle, wenn Sie python installiert haben, wird dies führen Sie das python-Datei, wie Sie in den terminal-Befehl Ihres Betriebssystems.
InformationsquelleAutor Wlliam