2014-12-02 103 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客戶端通信運行方式。