我有一个python脚本,我想用Java与Jython一起执行。Python脚本接受两个参数。如何向脚本中添加参数?
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.execfile("C:/path/to/file/__main__.py");谢谢!
发布于 2017-03-03 22:38:40
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");https://stackoverflow.com/questions/42589053
复制相似问题