Ich habe in jdonth in mein Java-Programm einbetten, um Benutzern zu ermöglichen, Skript in Python. Allerdings möchte ich die Ausgabe ihrer Python-Skripte in ein Java-Textfeld in meinem Programm drucken. Aber ich kann nicht einen Weg finden, die Ausgabe des jython Motor einzubetten:Jython drucken alle Terminal-Ausgabe/zuweisen Ausgabe als Zeichenfolge
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class Main {
public static void main(String[] args) throws ScriptException {
ScriptEngine pyEngine = new ScriptEngineManager().getEngineByName("python");
Object Pyoutput = pyEngine.eval("2*3");
System.out.println(Pyoutput.toString());
}
}
Ich versuchte dies die Ausgabe von eval zu bekommen.
This outputs 6
Was ist richtig aber ist, wenn ich das gleiche von einer print-Anweisung versuchen:
Object Pyoutput = pyEngine.eval("print('Hello World')");
System.out.println(Pyoutput.toString());
der Ausgang null ist, wenn es sollte Hallo Welt sein. Gibt es eine Möglichkeit, den gesamten Output/Terminal-Inhalt eines Skripts zu drucken, das von jython eval/exec ist?
Perfect! Vielen Dank Ich verbrachte eine lange Zeit auf Google Suche nach, wie dies zu tun, mit den einzigen Ergebnissen zu implementieren verschiedene Arten von Stream-Reader, also noch einmal danke :) – D3181