java调用python函数

这里主要讲述的是在我使用java嗲用python方法的一些心得,如果有不妥当的地方,还请各位多多包含

1:webApi方式进行调用

通过webApi的方式进行调用,这种方式是最稳妥也是最简单的一种调用方式,也可以将两个服务分开进行部署。缺点是相较于直接调用回更加耗时一些。

2:使用PythonInterpreter进行调用

PythonInterpreter interpreter = new PythonInterpreter();
//填写py文件所在的路径
interpreter.execfile("P:\\fengCloud_shell\\test.py");
//调用具体的函数,
PyFunction pyFunction = interpreter.get("dispose_image_thumbnail", PyFunction.class);
//可以再括号内填写参数,如果调用的函数需要传参的话
PyObject pyobj = pyFunction.__call__();
这种调用python的方法,速度上相较于上一种回略有提升,但是有一个致命的缺点,因为我们平时编写python所使用的解释器是使用C编写的,而java调用python所使用的是java编写的,所以如果调用的函数中引用了使用c或者和c相关的第三方函数,那么都是会报错的。

3:将python方法打成jar包的方式

参考链接:https://zhuanlan.zhihu.com/p/165039280

4:总结

至于在始及的项目中如何调用,就要看项目具体要求了,不过我还是建议使用webApi的方式进行调用,毕竟跨语言调用是目前最流行也是最稳妥的方式
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值