我正在使用Tkinter構建Python UI。爲了程序的需要,我必須將Python與Java連接起來做一些事情,所以我使用一個簡單的Jython腳本作爲鏈接器。我不能使用Tkinter和Jython,因爲它不被支持。如何在Jython/Python中保存Java對象
Python (ui.py) -> Jython (linker.py) -> Java (compiled in jars)
要調用在Python Jython的功能我用subprocess
如下:
ui.py:
cmd = 'jython linker.py"'
my_env = os.environ
my_env["JYTHONPATH"] = tons_of_jars
subprocess.Popen(cmd, shell=True, env=my_env)
然後,在Jython的文件,linker.py
,我進口Java類已經添加到JYTHONPATH中,並且我創建了一個名爲m
的對象並調用了Java類的一些函數。
linker.py:
import handler.handler
m = handler.handler(foo, moo, bar)
m.schedule(moo)
m.getFullCalendar()
m.printgantt()
的事情是,我已經創建了一個m
對象,將中jython linker.py
結束執行後予以銷燬。 所以問題是:是否有可能將m
對象保存在某個地方,以便我可以在任何時候將它從ui.py
中調用它?如果不可能,是否有其他方法可以做到這一點?
在此先感謝。
你嘗試過'鹹菜嗎? http://en.wikipedia.org/wiki/Pickle_%28Python%29 –
我剛剛嘗試了一個簡單的Python腳本的'pickle'模塊並且可以工作。但它不適用於我的工作,因爲我必須保存一個Java對象。它給出了以下錯誤:'raise TypeError「,無法醃製%s對象」%base .__ name__'。在此先感謝 –