Dieser Artikel beschreibt die Java -Implementierungsmethode, um Jython aufzurufen, um Python -Dateien auszuführen. Teilen Sie es für Ihre Referenz wie folgt weiter:
Während der Webentwicklung verwenden Sie häufig Bibliotheken von Drittanbietern in der lokalen Umgebung in der Webumgebung. In diesem Artikel wird erläutert, wie Java Python -Dateien ausführt.
Es wird online gesagt, dass es drei Methoden gibt, aber tatsächlich gibt es nur zwei Methoden. Die zweite Methode wird unten eingeführt (Jython).
Methode 1
java.lang.runtime runTime rt = runTime.getRuntime (); try {process proc = rt.exec ("python /tmp/test.py"); } catch (Ausnahme e) {e.printstacktrace (); }Hier ist eine Unterkonzeption:
1. Runtime.getRuntime() kann die Laufzeitumgebung des aktuellen JVM erhalten, was auch in Java die einzige Möglichkeit ist, die Laufzeitumgebung zu erhalten.
2. Die meisten anderen Methoden zur Laufzeit sind Instanzmethoden, was bedeutet, dass getRuntime -Methode jedes Mal verwendet werden muss, wenn der Laufzeitanruf getätigt wird.
3. Die Exit -Methode in der Laufzeit ist eine Methode, um das aktuelle JVM zu beenden, was wahrscheinlich die einzige ist. Weil ich diesen Ausgang in der Systemklasse gesehen habe, beendet das JVM tatsächlich, indem ich Runtime.exit() anruft. Hier werde ich die allgemeinen Regeln von Java für den Rücklaufwert der Laufzeit erläutern (ebenfalls später erwähnt). 0 repräsentiert den normalen Ausgang und Nicht-0 repräsentiert eine abnormale Abtreibung. Dies ist nur eine Java -Regel. In jedem Betriebssystem wird es immer geringfügige Verwirrung geben.
Der zweite Typ (Schlüsselpunkt)
Jython API anrufen
Schritt 1: Abhängigkeiten hinzufügen
<!-https://mvnrepository.com/artifact/Org.python/jython-> <depeopecy> <Groupid> org.python </gruppactId> <artifactid> jython </artifactid> <version> 2.7.0 </Version> </abhängig>
Schritt 2: Erstellen Sie einen neuen Test.java -Testklasse
import org.python.util.PythonInterpreter;import java.util.Properties;/** * Author: Meet Xiaoxing* Email: [email protected] * Date: 17-3-21 * Time: 8:18 pm * Describe: jpython test */public class Test { public static void main(String []args){ PythonInterpreter interpreter = neuer PythonInterpreter (); interpreter.exec ("Days = (" mod "," tue "," mi "," thu "," fr "," sa "," sun ");"); interpreter.exec ("Drucktage [1];"); interpreter.execFile ("/tmp/test.py"); interpreter.exec ("drucken" von Tengxing am Jahr 2017.3 '"); }}
Schritt 3: test.java ausführen
Die Tests begannen um 21:40 Uhr ... Tuethis wird testet.
Der Prozess ist beendet, beenden Code 0
Die Erinnerung kann die folgende Ausnahme melden:
Ausnahme im Thread "Haupt" ImporteurRror: Das Site -Modul und seine Abhängigkeiten kann nicht importiert werden: Kein Modul namens Site
Bestimmen Sie, ob die folgenden Attribute korrekt sind:
Grund: python.import.site ist nicht initialisiert
lösen:
public class test {public static void main (String [] args) {Properties props = new Properties (); props.put ("python.home", "Pfad zum Lib -Ordner"); props.put ("python.console.encoding", "utf-8"); props.put ("python.security.respectjavaAccessibility", "false"); props.put ("python.import.site", "false"); Eigenschaften preprops = system.getProperties (); PythonInterpreter.initialize (Preprops, Requisiten, neue String [0]); PythonInterpreter interpreter = new PythonInterpreter (); interpreter.exec ("Days = (" mod "," tue "," mi "," thu "," fr "," sa "," sun ");"); interpreter.exec ("Drucktage [1];"); interpreter.execFile ("/tmp/test.py"); interpreter.exec ("print" von Tengxing am 2017.3! '"); }}Ok perfekt
// Die Methode in Python aufrufen und das Ergebnis pyfunction func = (pyfunction) interpreter.get ("Adder", pyfunction.class); int a = 2010, b = 2; PyObject pyobj = func .__ Call __ (New Pyinteger (A), New Pyinte, byobj = b); pyobj.tostring ());Referenzartikel:
//www.vevb.com/article/137380.htm
//www.vevb.com/article/137385.htm
Anhang: Jython.jar Klicken Sie hier , um diese Website herunterzuladen .
Für mehr Java-bezogene Inhalte können Leser, die an dieser Website interessiert sind, die Themen anzeigen: "Java-Datenstruktur und Algorithmus-Tutorial", "Zusammenfassung der Java-Operation DOM-Knoten-Tipps", "Zusammenfassung der Java-Datei- und Verzeichnisoperationstipps" und "Zusammenfassung von Java Cache Operation Tipps" "
Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.