jep invoke 带参数调用怎么写
我网上找到的都是不带参数调用的,带参数的怎么调用?
JavaDiv.py
import sys
import os
def JavaDiv(map):
return float(map['a'])/float(map['b']);
public class JPython {
public static String invoke(String dir,String filename,Map paras )
{
String result="";
JepConfig config = new JepConfig();
config.addIncludePaths(dir);
try (Interpreter interp = new SubInterpreter(config))
{
interp.eval("from "+filename+" import *");
result = interp.invoke(filename,paras).toString();
} catch (JepException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
}
Map map = new HashMap();
map.put("a",3);
map.put("b",2);
Double.parseDouble(JPython.invoke("E:\\works\\eclipse\\2018\\Guild2Mod_\\src\\python","JavaDiv", map));
结果
result = interp.invoke(filename,paras).toString();
这里死活就报错
jep.JepException: <class 'TypeError'>: JavaDiv() got an unexpected keyword argument 'a'
我给的参数
按照这里给的呢,为什么死活报错呢?
感谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论