[英]Jython not getting the python method. Why?
我對Jython真的很陌生,我有這樣的代碼:
interpreter.exec("import sys\nsys.path.append('my-path')\nimport hello");
PyObject someFunc = interpreter.get("getDriverObect");
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()");
我在哪里犯錯?
除非您from hello import getDriverObject
否則無法通過interpreter.get("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
您也可以這樣:
interpreter.exec("import hello");
PyObject module = interpreter.get("hello");
PyObject func = module.__getattr__("getDriverObject");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.