Java Jython没有得到python方法。为什么?
我是Jython的新手,我有这样的代码:Java Jython没有得到python方法。为什么?,java,python,jython,Java,Python,Jython,我是Jython的新手,我有这样的代码: interpreter.exec("import sys\nsys.path.append('my-path')\nimport hello"); PyObject someFunc = interpreter.get("getDriverObect"); interpreter.exec("import hello"); PyObject module = interpreter.get("hello"); PyObject func
interpreter.exec("import sys\nsys.path.append('my-path')\nimport hello");
PyObject someFunc = interpreter.get("getDriverObect");
interpreter.exec("import hello");
PyObject module = interpreter.get("hello");
PyObject func = module.__getattr__("getDriverObject");
someFunc
总是null
!下面是python的相应代码:
from selenium import webdriver
def getDriverObect():
c = webdriver.Safari()
return c
我也尝试了以下组合,但没有任何效果:
PyObject someFunc = interpreter.get("hello.getDriverObect");
PyObject someFunc = interpreter.get("hello.getDriverObect()");
PyObject someFunc = interpreter.get("getDriverObect()");
我犯了什么错误?函数对象不能通过
解释器使用。get(“getDriverObject”)
除非您使用hello import getDriverObject的
简化hello.py:
def getDriverObject():
return "TEST"
Java代码:
interpreter.exec("from hello import getDriverObject");
PyObject func = interpreter.get("getDriverObject");
System.out.println(func);
System.out.println(func.__call__());
来自上述方面的输出:
<function getDriverObject at 0x2>
TEST