Я хотел бы назвать питон скрипт из Java с помощью ScriptEngine, но я не знаю, как добавить аргументыВызов питон скрипт с аргументами из Java
Из командной строки это что-то вроде: python test.py language 10 "some text"
где язык, 10, «некоторый текст» - это аргументы, которые будут предоставлены пользователем.
Вот кусок кода, который я хочу изменить (см этом answer)
StringWriter writer = new StringWriter(); //ouput will be stored here
ScriptEngineManager manager = new ScriptEngineManager();
ScriptContext context = new SimpleScriptContext();
context.setWriter(writer); //configures output redirection
ScriptEngine engine = manager.getEngineByName("python");
engine.eval(new FileReader("test.py"), context);
System.out.println(writer.toString());
Вы также можете сделать это с помощью 'Process p = Runtime.getRuntime(). Exec (" python test.py language 10 \ "some text \" ");' как показано в http://stackoverflow.com/questions/17756721/call-python-from-java-tomcat6-as-sub-process –
благодарит за комментарий. Да, я знаю это, но мне интересно, можно ли это сделать с помощью механизма сценариев. – Daisy