我有一个python脚本,我想用Jython在Java中执行。 Python脚本接受2个参数。如何在脚本中添加参数?
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.execfile("C:/path/to/file/__main__.py");
谢谢!
答案 0 :(得分:2)
execfile
在本地命名空间中执行脚本。您可以在之前调用sys.argv
:
exec
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec(
"import sys\n"
+"sys.argv = ['Foo', 'Bar']");
interpreter.execfile("J:/test.py");
脚本在哪里:
import sys
print(sys.argv)
打印:
['Foo', 'Bar']
我查看了您的评论问题,看起来您需要在python.path
对象中设置Properties
,然后将其传递给PythonInterpreter.initialize
。您也可以使用它来传递参数:
Properties p = new Properties();
p.setProperty("python.path", "J:/WS/jython"); // Sets the module path
PythonInterpreter.initialize(System.getProperties(), p, new String[]{ "Foo", "Bar" });
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.execfile("J:/WS/jython/main.py");