java调用Jython函数的小例子

写了一个java调用Jython函数的小例子:

java 代码:

public static void main(String args[]){
		
		Hashtable table = new Hashtable();
		table.put(new PyString("method"), new PyString("login"));
		table.put(new PyString("customerName"), new PyString("aa"));
		table.put(new PyString("pssword"), new PyString("111111"));
		
		System.out.println(System.currentTimeMillis());
		PythonInterpreter interp = new PythonInterpreter();
		
		interp.execfile(CustomerDao.class.getResourceAsStream("test.py"));
		PyFunction func =
		(PyFunction)interp.get("testMethod",PyFunction.class);
		System.out.println(System.currentTimeMillis());
		
		PyObject pyobj = func.__call__(new PyDictionary(table));
		
		System.out.println(System.currentTimeMillis());
		System.out.println(pyobj.toString());
	}

 Python代码:

def testMethod(params):
    """ test method of Jython
    Returns string."""
    return ";".join(["%s=%s" % (k, v) for k, v in params.items()])

 注意:Hashtable使用PyDictionary类型,其他请参见Jython的API文档。

上面这个程序加载*.py代码的时候会比较慢,所以要考虑把PyhtonIterPreter缓存起来。

你可能感兴趣的:(java,python,jython)