我有一個Python模塊auth.py Python函數:的Java調用使用PythonInterpreter
keys= {
"s1": ["k1", "k2"],
"s2": ["k1", "k2"]
}
def get_keys_by_name(name):
return keys[name]
,並且調用Java代碼:
String keyname= "somename"
interpreter.exec("from services.framework import auth");
List<String> keys = (List<String>) interpreter
.eval("auth.get_keys_by_name(" + keyname+ ")");
每次我打電話的代碼我得到一個NameError形成參數(鍵名),我嘗試傳遞給Python代碼。
任何人都知道我在做什麼錯?
可能引號缺失?如果你的代碼看起來更像是'getKeysByName(abc)',那麼Java調用你會做'getKeysByName(「abc」)''。 – Thomas
井名在我的jav代碼中是可變的,對不起,如果不清楚。我已經把它也放在代碼 – Gobliins
中,但我認爲你是對的,你可以把它作爲答案 – Gobliins