[英]pass data from java to python and back jython
我正在使用 Jython 從 Java 運行 python 腳本。 當我使用PythonInterpreter
調用腳本時,我能夠將數據作為命令行參數發送到 python 腳本。
現在我想從 Jython 腳本中調用一個 Java 方法,將一個List
作為方法參數傳遞。 我怎么做?
我發布了從 Java -> Python 和 Python -> Java 傳遞數據的代碼。 希望這可以幫助某人,在此。 字符串數組“s”被傳遞給 python 腳本,“city”列表通過函數調用 getData() 從 python 傳遞給 Java。
Java程序.java:
import org.python.core.PyInstance;
import org.python.util.PythonInterpreter;
public class JavaProg
{
static PythonInterpreter interpreter;
@SuppressWarnings("resource")
public static void main( String gargs[] )
{
String[] s = {"New York", "Chicago"};
PythonInterpreter.initialize(System.getProperties(),System.getProperties(), s);
interpreter = new PythonInterpreter();
interpreter.execfile("PyScript.py");
PyInstance hello = (PyInstance) interpreter.eval("PyScript" + "(" + "None" + ")");
}
public void getData(Object[] data)
{
for (int i = 0; i < data.length; i++) {
System.out.print(data[i].toString());
}
}
}
腳本.py:
import JavaProg
class PyScript:
def __init__(self,txt):
city = []
for i in range(0,len(sys.argv)):
city.append(str(sys.argv[i]))
jObj = JavaProg()
jObj.getData(city)
print "Done!"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.