我有一个java程序,我需要它来获取python脚本计算的一些数据。
我已经让java通过jython的PythonInterpreter向python发送一个整数并显示它,但是我无法恢复它以进行其他操作。另外,发送一个完整的整数数组而不是单个整数会很棒,但我不能用PyObjects包围我的想法以及如何使用它们。
是否有任何有用的教程涵盖数组?我已经搜索了一段时间,但我只是找到整数和浮点相关的教程。
答案 0 :(得分:1)
如果您想要一个简单的解决方案,那么我建议您将整数写入并读取到文件中。也许不是最优雅的方式,但实施起来只需几分钟。
答案 1 :(得分:1)
我参与过类似的项目。这里简要概述了Java和Python分别在做什么。
<强>爪哇强> 我们使用Java作为主服务器来接收来自客户端的请求,并在一些数据操作之后发回响应。
<强>的Python 强> Python负责数据操作或计算。数据是通过套接字网络从Java发送的。我们首先以 string 格式定义了我们需要的数据,然后将它们转换为 bytes ,以便通过套接字网络将它们设置为semt。
由于存在限制,使用套接字网络,我使用Python Flask将其更改为Rest Api。通过这种方式,我们可以轻松地与Java进行通信,而不仅仅是在这种情况下,使用键值json格式。通过这种方式,我能够接收任何可以通过Api传递的数据类型,包括你提到的数组对象。
答案 2 :(得分:0)
如果以某种方式将数字写入/读取到文件的解决方案是不够的,您可以尝试以下方法: 您可以使用Pyro4(以及用于Java代码的Pyrolite客户端库)从您的Java代码中调用正在运行的Python程序,而不是使用Jython。 这允许您在正常情况下运行您的python代码。例如,python 3.6解释器,而不是仅限于Jython所遵循的版本。 你必须在一个单独的过程中启动Python解释器(但这甚至可以在不同的机器上)