起因
由于毕设老师要求要用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开始
结果
[img]https://vkceyugu.cdn.bspapp.com/VKCEYUGU-df9040b6-66ef-461b-92a5-f74c4e71766f/d0e731a6-4192-445a-a2d9-fab20264fbe6.png[/img]