import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) {
try {
System .out.println("start");
Process pr = Runtime.getRuntime().exec("python test.py");
BufferedReader in = new BufferedReader(
pr.getInputStream ()));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line); .close();
pr.waitFor();
System.out.println("end"); }
}
}
Wenn Sie es direkt in Eclipse ausführen, wird der folgende Fehler gemeldet:
java.io.IOException: Cannot run program „python“: CreateProcess error=2
Konfigurieren Sie in der Ausführungskonfigurationsumgebung die PATH-Variable, siehe Anhang:
Es ist in Ordnung, Process proc = Runtime.getRuntime().exec("python xx.py"); aufzurufen. xx.py befindet sich direkt im Projekt Unterhalb des Verzeichnisses]
Bei Verwendung von Process proc = Runtime.getRuntime().exec("python xx.py"); im Servlet in Tomcat erfolgt keine Antwort anfangs. Das Ergebnis der Fehlerbehebung sollte sein, dass es mit dem Befehl pyhon gefunden werden kann (oder direkt den absoluten Pfad von e:\Python\python.exe eingeben). Ich habe die Datei x.x.py im Stammverzeichnis abgelegt und absichtlich den falschen Namen xy geschrieben .py., aber das Ergebnis war keine Antwort. [Es scheint, als ob diese Anweisung nicht ausgeführt wurde]
=》Es sollte sein, dass die py-Datei nicht gefunden werden kann. Ich habe absolute Pfade verwendet, um nach py-Dateien zu suchen. Process proc = Runtime.getRuntime().exec("python d:\xx.py"); Das ist in Ordnung.
[Die aktuelle Zusammenfassung ist das Pfadproblem der Py-Datei]