簡體   English   中英

Jython沒有獲取python方法。 為什么?

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

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