簡體   English   中英

在運行時通過Python訪問Java-Application創建的對象

[英]Python access to objects created by Java-Application during runtime

我有一個.jar文件形式的Java應用程序和一個具有Python-API的第三方程序。 工作流程是,我啟動java-Application,在其中插入一些數據,並創建一些新對象。 之后,我可能想按下一個按鈕,該按鈕將執行Python腳本以將該數據傳輸到第三方程序。 Python腳本需要將數據存儲在創建的對象中。

所以我的問題是:
(1)是否可以為Python腳本提供一個數組作為輸入參數?

或(2)是否有辦法為Python腳本提供一個Java對象作為輸入,並且腳本可以訪問給定Object的方法,子對象和變量? 例如:我可以在Python腳本中編寫如下代碼:

data = JavaObject //the Object the Python script received
i = data.object1.getFoo()
print(i)

或(3)有沒有一種方法可以將Python腳本嵌入.jar文件中,我可以執行該腳本,而Python腳本可以訪問.jar文件的類和方法? 例如:

i = Object.object1.getChild().getValue() //Object should be any object
                                         //which i created previously

我認為Jython可以很好地完成此類任務,但它僅支持Python 2.7,並且由於使用第三方API,我需要使用Python 3.5,如有必要,可以使用Python 3.3或3.4,但僅如果需要的話。

編輯:如果可能的話,Java應用程序應該在不安裝Python的情況下就可以執行,但這不是必須的,只是一個不錯的功能

經過更多的搜索和與同事討論,我認為我可以回答我自己的問題。

您可以使用Py4J從Java獲取變量和對象。
閱讀完本教程其他一切都很容易。 它可以滿足我的需求,現在我可以更快地導出數據。

也可以將一些數據寫回到Java應用程序中。 如果您已實現設置方法,則可以從Python調用它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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