使用Java运行Python脚本(包含第三方包)

推荐博客

java调用python的几种用法(看这篇就够了) - 不懒人 - 博客园

Java Runtime.getRuntime().exec()调用python含第三方库时无返回值_th3000的博客-CSDN博客

java调用python脚本问题(Runtime.getRuntime().exec() )-CSDN论坛

Java调用Python程序方法总结(最全最详细)_ChasingdreamLY的博客-CSDN博客_java调用python

java调用外部程序(Runtime.getRuntime().exec)详解_墨鸦_Cormorant的博客-CSDN博客_runtime.getruntime().exec

问题解决

1、使用Runtime.getRuntime().exec()运行包含第三方包(如numpy)的python脚本时,首先python命令的位置需要是安装的绝对路径(D:\\Anaconda\\python),其次建议使用安装Anaconda,里面包含各种第三方的包。

proc = Runtime.getRuntime().exec("D:\\Anaconda\\python D:\\Runtime.py");

Runtime.py中的代码如下

import numpy as np

a = np.arange(12).reshape(3,4)

print(a)

2、怎么在python程序中函数传递参数并执行出结果

Java调用Python程序方法总结(最全最详细)_ChasingdreamLY的博客-CSDN博客_java调用python

//参数
int a = 18;
int b = 23;

String[] args = new String[] { "D:\\Anaconda\\python", "D:\\test.py", String.valueOf(a), String.valueOf(b) };
Process proc = Runtime.getRuntime().exec(args);// 执行py文件

test.py

import sys
 
def func(a,b):
    return (a+b)
 
if __name__ == '__main__':
    a = []
    for i in range(1, len(sys.argv)):
        a.append((int(sys.argv[i])))
    print(func(a[0],a[1]))
 

实战代码:


版权声明:本文为up_XCY原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。