java中调用python脚本

加油❤

文章目录

  • 1 用Runtime调用
    • 有参调用
    • 无参调用
  • 2 使用jython调用
    • 有参
    • 无参
  • 总结
    • 原因
    • 收获


1 用Runtime调用

有参调用

java中调用python脚本_第1张图片

String[] arg = new String[]{"解释器的位置(本地项目可以直接使用python)",
                "python文件位置", 参数};

关键点
在python脚本中使用argv函数接收参数
java中调用python脚本_第2张图片
结果如下

java中调用python脚本_第3张图片

无参调用

java中调用python脚本_第4张图片

2 使用jython调用

导入依赖


    org.python
    jython-standalone
    2.7.0

有参

PythonInterpreter interpreter = new PythonInterpreter();
 interpreter.execfile("F:\pyFile\model.py");
 
// 第一个参数为期望获得的函数(变量)的名字,第二个参数为期望返回的对象类型
PyFunction pyFunction = interpreter.get("add", PyFunction.class);
//调用函数,如果函数需要参数,在Java中必须先将参数转化为对应的“Python类型”
PyObject pyobj = pyFunction.__call__(new PyInteger(20)); 
System.out.println( pyobj);

无参

PythonInterpreter interpreter = new PythonInterpreter();
PyObject pyobj = interpreter.execfile(F:\pyFile\model.py");
System.out.println(pyobj);

总结

原因

一晚上没有找到参数传递失败的原因,一直想着使用input接收参数,最后参考了其他大佬的笔记才学会了调用。

收获

要学会从多个角度思考问题,不要再一个地方死钻牛角尖。

你可能感兴趣的:(后端开发工具,大数据)