Nach Pyro4 Installation und das Hinzufügen von pyrolite und serpent Gläsern auf Java bauen Pfad, Codes ähnlich die client and server side python codes verwendet, die mit dem Python-Client-Codes OK arbeiten, ich einige Codes verwenden, ähnlich das Java-Beispiel auf https://pythonhosted.org/Pyro4/pyrolite.html ein Python-Server-Objekt zuzugreifen.Pyro4: Wie man eine Liste von Tupeln mit Pyrolite in Java erzeugt?
import net.razorvine.pyro.*;
NameServerProxy ns = NameServerProxy.locateNS("127.0.0.1");
PyroProxy remoteobject = new PyroProxy(ns.lookup("example.greeting"));
List<String> inputWords = getExampleWords();
Object result = remoteobject.call("predictedResults", inputWords);
System.out.println("result = "+result);
remoteobject.close();
ns.close();
Die gedruckte Python clent Seiten Ergebnis ähnelt:
>> print 'result = \n' + str(result)
result =
[(u'aaa', 0.88877496454662064), (u'bbb', 0.019192749769012061), (u'?', 0.0070963814247323219), (u'ccc', 0.0068011253515576015), (u'home', 0.00148328236618)]
Die Datenstruktur ist eine Liste von Tupeln, von denen jeder ein Paar von Streich- und float, wie:
result = []
for i in xrange(10):
result.append((list[i], value[i]))
Und das Java-Ergebnis gedruckt auf der Konsole ist:
>> Object result = remoteobject.call("predictedResults", inputWords);
>> System.out.println("result = "+result);
result = [[Ljava.lang.Object;@2e0fa5d3, [Ljava.lang.Object;@5010be6, [Ljava.lang.Object;@685f4c2e, [Ljava.lang.Object;@7daf6ecc, [Ljava.lang.Object;@2e5d6d97]
Die Frage ist: Wie kann 'Object result = remoteobject.call ("projectedResults", inputWords) erfolgreich umgewandelt werden?' zu einer Liste von Paaren von String und Float in Java?
Das ist wirklich eine Java Frage, kein Python ein –