【发布时间】:2016-05-04 13:15:25
【问题描述】:
我想使用 ScriptEngine 从 java 调用 python 脚本,但我不知道如何添加参数
从命令行它类似于:python test.py language 10 "some text"
其中 language, 10, "some text" 是用户提供的参数。
这是我要修改的一段代码(参考这个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\"");来完成,如stackoverflow.com/questions/17756721/… 所示 -
感谢您的评论。是的,我知道,但我想知道是否可以使用脚本引擎来完成。