
python调用的java进程在哪看?
最近在做基于python的locust压力测试,api接口程序是java版本,导致python无法匹配签名模式,需要python调用java的签名程序。
首先需要按照python依赖包
pip install jpype1
jpype调用jar包
jpype的原理是在python进程中嵌入了java虚拟机,并与虚拟机进行通信。
复制代码
import jpype
# 如果只有java程序,那需要先打成一个jar包来给python引用 ,有javajar就可以直接使用
def init_jvm():
jpypestartJVM(jpypegetDefaultJVMPath(), "-ea", "-Djavaclasspath=%s" % 'javajar')
def getsign(privateKey,publicKey):
VerCls = jpypeJClass("comsign") # 引用的java包与类名
sign = VerCls()getSign(privateKey,publicKey)
return sign
def shutdowm():
try:
jpypeshutdownJVM()
except:
pass
if __name__=="__main__":
init_jvm()
print(getsign("priyyyy","alpha1234"))
shutdowm()
复制代码
代码说明如下:
需要提供javajar,如果只有java程序,那需要先打成一个jar包来给python引
init_jvm函数中的 jpypestartJVM用来启动java虚拟机,-Djavaclasspath 用来指定我们要调用的jar包。
在getsign中,jpypeJClass用来引用sign类,通过实例化并调用getSign实现版本号的比较。
jpypeshutdownJVM()是主动关闭java虚拟机,释放资源。
创建一个函数用来计算三个数的和,如下:
下来,我们对其进行调用:
假设我们要计算这个函数返回结果的平均值。那么此时,我们只需将和值除以参数个数即可,那么参数个数怎么获取呢?你可能会说:数一下就知道了。那么假设此时有很多的参数,你还去数吗?此时,明显这个方法是不恰当的,那么有没有更加方便、高效的方法呢?我们接着往下看。
通过上面这个例子,我们不但可以获取参数个数,还可以获取所有变量名以及默认返回值。此时,我们只需根据自己的需求,去应用就可以了,那么以上的问题,就自然解决了。
以上就是关于python调用的java进程在哪看全部的内容,包括:python调用的java进程在哪看、Python获取函数参数个数和默认参数、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)