1、问题概述?
上传所有相关测试代码
在实际的开发中,我们经常会遇到如下需求:
1、Java工程调用Python脚本,并获取Python的返回值。
2、Java工程调用Python脚本,并携带单个参数。
3、Java工程调用Python脚本,并携带多个参数。
4、Java工程远程调用Python脚本
5、Java调用远程python脚本
2、Java工程调用Python脚本(不传值)
2.1、创建Python脚本test.py,并创建简单函数
当这个脚本被调用的时候,会首先执行main方法,然后通过main方法调用testfun函数。
def testfun(str):
print(str)
if __name__ == '__main__':
testfun("测试调用是否成功!")
2.2、创建Java程序,调用Python脚本
1、Java中可以通过Runtime.getRuntime.exec()来调用执行python脚本
2、proc.waitFor();表示等待脚本执行结束,否则该线程不结束,返回值为0时,表示成功。
3、所有参数写在arguments数组中,第一个参数必须写python命令,如果你的python没有配置环境变量,就需要写python.exe的绝对路径如: C:\Program Files\Python38\python.exe。
第二参数:写的是你要调用的脚本的绝对路径。
public static void main(String[] args) {
try {
String[] arguments = new String[] {"python","E:\\... \\closescreen\\test.py"};
Process proc = Runtime.getRuntime().exec