簡體   English   中英

將數據從 java 傳遞到 python 並返回 jython

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM