[英]Returning python list to Java
我有一個Java應用程序,它調用了一些Python代碼。 我在理解如何將列表從Python返回到Java時遇到一些問題。
假設我有一個非常簡單的python模塊,如下所示:
def myFunc(param):
print param
return [ ["a","b"] , ["c","d"] , ["e","f"] ]
還有一段調用此函數的java代碼:
String funcName = "myFunc";
try {
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec("from myModule import * \n");
PyObject someFunc = interpreter.get(funcName);
someFunc.__call__(new PyString(workspacePath),new PyString(deployName));
}
catch(Exception e){
e.printStackTrace();
throw new Exception("Error while generating client resources.", e);
}
如何將返回的對象轉換為可以輕松迭代的對象? 如何提取列表中存在的字符串?
我試着用PyList或Iterable PyObject弄亂了一點,但到目前為止沒有成功。 任何想法?
謝謝
您可以構造Java對象。 如果目標使用者是Java程序,那可能就是要做的事情。
import java.util.ArrayList as ArrayList
import java.lang.String as String
...
javaList = ArrayList()
for subList in [ ["a","b"] , ["c","d"] , ["e","f"] ]:
javaSubList = ArrayList()
for s in subList:
javaSubList.add(String(s))
javaList.add(javaSubList)
return javaList
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.