如何从Java访问python中的数组

时间:2015-10-02 16:57:04

标签: java python jython

我想做这样的事情:

Python代码:

nums = [1,2,3]

Java代码:

nums_Java[] = nums //from python
System.out.println(nums_Java[0])

输出:

1

我一直在寻找jython,但我似乎无法找到答案。看起来应该很简单,但我迷路了。谢谢!

1 个答案:

答案 0 :(得分:0)

如果我正确理解了这个问题,你想从java程序中运行一些嵌入式python代码,并获取python变量的值。

基于http://www.jython.org/archive/21/docs/embedding.html,我写了一个可能有用的小程序:

import org.python.util.PythonInterpreter; 
import org.python.core.*; 

public class SimpleEmbedded { 
    public static void main(String[] args) throws PyException {
        PythonInterpreter interp = new PythonInterpreter();
        interp.exec("nums = [1,2,3]");
        PyObject nums = interp.get("nums");
        System.out.println("nums: " + nums);
        System.out.println("nums is of type: " + nums.getClass());
    }
}

不幸的是,我目前还没有安装jython,所以上面的代码是未经测试的。此外,我不确定您将从解释器返回什么类型,以及如何将其转换为Java数组或访问其项目。但该计划应该让你开始并提供更多信息。