2014-12-02 107 views
1

我需要从java调用一个python函数,将它传递给一个数组,然后返回一个数组。我意识到我可以用Jython来做到这一点。从java调用python函数,而python脚本已经运行

问题是,我的python脚本需要加载一个非常沉重(并且加载速度慢)的模型才能运行该函数。所以我想知道是否可以以某种方式离开python脚本,并让它监听下一个函数调用。对此有何想法?我可以拥有Java I/O文件并且可以像这样进行通信,但是这似乎也是(尽管更小)瓶颈。

我读一些关于蟒蛇多处理,但我不知道这是去https://docs.python.org/3/library/multiprocessing.html#multiprocessing-managers

+1

为什么不通过套接字进行通信?有python监听套接字,序列化你的数据(我推荐JSON),并使用从Java到Java的套接字传递它。 – 2014-12-02 14:41:50

+0

这将是一个选项。我将不得不从python安装一个服务器我想这里http://stackoverflow.com/questions/20913440/connecting-python-socket-and-java-socket – dorien 2014-12-02 15:33:35

+0

在互联网上有很多例子。您可以利用现有的协议来传递更复杂的消息。但是,如果你打算简化它,让你自己的实现很棒。 – 2014-12-02 15:36:33

回答

0

我能够保持python脚本通过建立一个Python袜子服务器和Java客户端通信运行方式。