java调用python写好的程序

发布于 2021-04-30  611 次阅读


起因

由于毕设老师要求要用springboot框架,但数据清洗用python写更简单,因此决定在python上写好数据清洗等功能的代码,然后在java里面直接调用


java代码

String[] args = new String[] { python, D:\\pycharm_file\\test\\main.py, 2 };
Runtime.getRuntime().exec(args);// 执行py文件

其中,“2”表示传的参数,就是python里的sys.argv数组所接收到的。


python代码

PS:此处仅给个示例代码

import sys
def a():
    print('hello a')
def b():
    print('hello b')
if __name__ == '__main__':
    n = int(sys.argv[1])
    if n == 1:
        a()
    elif n == 2:
        b()
    else:
        print('error!!out of index!')

其中,sys.argv用于接收传参,argv[0]是文件名,因此传参从1开始