任何想法如何做到這一點?也就是說,如果我們在Java中定義的變量如下jpype訪問Java mehtod /變量的名稱是保留名稱在Python中
public Class Foo { String pass = "foo"; }
如何通過jpype訪問此,因爲通是一個保留關鍵字?我試圖 getattr(Jpype.JClass(Foo)(), "pass")
,但未能找到通屬性命名
任何想法如何做到這一點?也就是說,如果我們在Java中定義的變量如下jpype訪問Java mehtod /變量的名稱是保留名稱在Python中
public Class Foo { String pass = "foo"; }
如何通過jpype訪問此,因爲通是一個保留關鍵字?我試圖 getattr(Jpype.JClass(Foo)(), "pass")
,但未能找到通屬性命名
unfortunally字段或一個Python關鍵字衝突的方法不能訪問
想通了,jpype在年底對這些方法/場的追加"_"
在其源代碼中。所以,你可以通過Jpype.JClass(「富」)來訪問它。pass_
希望它是介於
stackoverflow過濾下劃線,所以jpype在末尾附加下劃線以便與python關鍵字衝突 –
嗯證明,這是一個令人失望。希望看看是否有方法將字符串名稱直接傳遞給jvm以調用java方法/字段。 –
根據官方文檔[鏈接](https://pypi.python.org/pypi/JPype1-py3) 已知錯誤/限制 無法導入程序包外部的Java類(在程序包中)。 無法訪問與python關鍵字衝突的字段或方法。 由於缺少JVM支持,因此無法關閉JVM並重新啓動它。 一些方法依賴於「當前」類/調用者。由於直接來自Python代碼的調用沒有當前類,因此這些方法不起作用。用戶手冊列出了所有已知的方法。 –