gpt4 book ai didi

java - 如何从 CPython 调用 java 对象和函数?

转载 作者:太空狗 更新时间:2023-10-29 17:53:10 26 4
gpt4 key购买 nike

我有一个 python 程序,它在 CPython 实现上运行,我必须在其中调用一个在 java 程序中定义的函数。我该怎么做?

如果也能使用一些 java 对象就好了。

Jython 不是一个选项。我必须在 CPython 中运行 python 部分。

最佳答案

很抱歉重新启动线程,但我想我有一个更好的答案:-)

你也可以使用 Py4J它有两个部分:一个在 CPython(或任何 Python 解释器)中运行的库和一个在您要调用的 Java VM 上运行的库。

首页上有一个示例和大量文档,但本质上,您只需从 python 代码中调用 Java 方法,就好像它们是 python 方法一样:

>>> from py4j.java_gateway import JavaGateway
>>> gateway = JavaGateway() # connect to the JVM
>>> java_object = gateway.jvm.mypackage.MyClass() # invoke constructor
>>> other_object = java_object.doThat()
>>> other_object.doThis(1,'abc')
>>> gateway.jvm.java.lang.System.out.println('Hello World!') # call a static method

通信是通过套接字而不是 JNI 完成的。

免责声明:我是 Py4J 的作者

关于java - 如何从 CPython 调用 java 对象和函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/438594/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com