其实调用 Java 的 jar 包代码,和其他外部程序一样,可以使用 Python 的 subprocess 模块或者需要调用 Java 的 API(比如 Jython)来实现。下面是两个示例代码:
使用 subprocess 模块:
import subprocess
java_path = "/usr/bin/java" # Java 的路径
jar_path = "path/to/your/jar/file.jar" # jar 包的路径
# 要执行的命令
cmd = [java_path, "-jar", jar_path]
# 执行
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = proc.communicate()
# 打印输出和错误
print(out.decode("utf-8"))
print(err.decode("utf-8"))
使用 Jython API:
from java.lang import Runtime
jar_path = "path/to/your/jar/file.jar" # jar 包的路径
# 获取当前 JVM 实例
jvm = Runtime.getRuntime()
# 加载 jar 包
jvm.load(jar_path)
# 调用 jar 包中的方法
result = jvm.callMethod("com.example.YourClass", "yourMethod", arg1, arg2)
# 打印结果
print(result)
这里假设你已经安装好了 Jython。需要注意的是,这种方式需要在 Jython 中编写代码,而不是 Python,因为 Jython 是一种 Python 解释器,它能够解析 Java 代码。