Java调用Python程序并传参

PS:早上写后台功能时用到了这个,这里记录一下。


1.Java调用Python脚本主要有两种方法:
(1)使用Jython jar包。但是如果脚本中引入了第三方库就不能使用;
(2)使用Java自带命令行执行如下:

Runtime.getRuntime().exec(args1);

然后采用输出流的方式来获取参数。


2.python代码大致如下:
这里写图片描述
其中需要注意的是接收参数从sys.argv[1]开始,sys.argv[0]是python脚本的参数地址。


3.Java调用python程序代码如下:
这里写图片描述
这里需要注意传参的类型,举例,我在Java传的参数类型为str型,而在Python中后续引用的参数需要为set类型,又set是无序不重复的,无法强制转换,因此,需要在python中将得到的参数继续构造为set类型的数据。如下:

    #for i in range(1, len(sys.argv)):
    data = sys.argv[1]
    #将str类型转为set类型
    dataset=set([(1,data)])

猜你喜欢

转载自blog.csdn.net/weixin_36413887/article/details/79867296