1.环境准备
这一步骤需要搭建java和python环境,流程极其简单。笔者的环境如下:
2.Python脚本
import sys
import re
flag = 0
if len(sys.argv) >= 2 and re.search("^\d+$", sys.argv[1]):
flag = int(sys.argv[1]) * 10
else :
flag = sys.argv[1]
print(flag)
以上代码位于D盘test.py。
3.Java编码
package baison.ldl.com;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class TestPy {
public static void main(String[] args) {
Process proc;
try {
String[] arg = new String[] { "python", "D:\\test.py","10"};
proc = Runtime.getRuntime().exec(arg);
BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
proc.waitFor();
} catch (Exception e) {
e.printStackTrace();
}
}
}
运行结果:
至此,java调用python脚本成功。