Ich versuche, mein Python-Skript in Java mit Jython auszuführen. Die wichtige Sache ist, dass ich Kommandozeilenargumente zu meinem Skript unter Verwendung von jython, z. myscript.py arg1 arg2 arg3. Es gibt eine ähnliche Frage hier: Passing arguments to Python script in JavaWie übergeben Sie Argumente in Python-Skript in Java mit Jython
Die wurde nicht vollständig beantwortet (keine der Lösungen funktionieren).
Mein Code sieht nun wie folgt aus:
String[] arguments = {"arg1", "arg2", "arg3"};
PythonInterpreter.initialize(props, System.getProperties(), arguments);
org.python.util.PythonInterpreter python = new org.python.util.PythonInterpreter();
StringWriter out = new StringWriter();
python.setOut(out);
python.execfile("myscript.py");
String outputStr = out.toString();
System.out.println(outputStr);
Dies ist jedoch keine Argumente für das Python-Skript zu passieren scheint. Irgendwelche Vorschläge, wie man es richtig macht? Es muss einfach sein, aber ich kann keine Dokumentation im Internet finden.
Ich benutze Python 2.7 und Jython 2.7.0.
es heißt "void ist ein ungültiger Typ" für diese Variable. Ich bin neu in Java, sollte es ein anderer Typ sein? –
Tut mir leid, ich habe gerade bearbeitet, workspacePath = arg1 – Stefano
und warten ... Was ist der Name der Funktion, die Sie anrufen möchten? Ich dünme nicht, dass Sie das Skript direkt aufrufen wollen ... sonst brauchen Sie Jython nicht zu benutzen ... benutzen Sie einfach einen Systemaufruf – Stefano