나는 Tkinter를 사용하여 파이썬 UI를 만들고있다. 프로그램의 필요에 따라 필자는 Python과 Java를 연결하여 간단한 작업을 수행하므로 간단한 Jython 스크립트를 링커로 사용하고 있습니다. Jython과 함께 Tkinter를 사용할 수 없기 때문에 사용할 수 없습니다.자이 썬/파이썬에서 자바 객체를 저장하는 방법
는ui.py :
cmd = 'jython linker.py"'
my_env = os.environ
my_env["JYTHONPATH"] = tons_of_jars
subprocess.Popen(cmd, shell=True, env=my_env)
다음, 자이 썬 파일, linker.py
에, 나는 가져
Python (ui.py) -> Jython (linker.py) -> Java (compiled in jars)
subprocess
을 사용하여 파이썬에서 자이 썬 함수를 호출하려면 Java 클래스는 이미 JYTHONPATH에 추가되었고, 이름은
m
인 오브젝트를 작성하고 Java 클래스의 일부 기능을 호출합니다.
linker.py는 :
import handler.handler
m = handler.handler(foo, moo, bar)
m.schedule(moo)
m.getFullCalendar()
m.printgantt()
것은 내가 jython linker.py
끝의 실행 후 파괴 될 m
객체를 만든 것입니다. 그래서 질문은 : m
개체를 어딘가에 저장할 수 있습니까? 언제든지 원할 때마다 ui.py
에서 호출 할 수 있습니까? 가능하지 않은 경우 다른 방법이 있습니까?
미리 감사드립니다.
'피클'을 사용해 보셨습니까? http://en.wikipedia.org/wiki/Pickle_%28Python%29 –
나는 단순한 파이썬 스크립트로'pickle' 모듈을 시도해 보았습니다. 그러나 그것은 Java 객체를 저장해야하므로 내 작업에는 효과가 없습니다. 다음 오류가 발생했습니다 :'raise TypeError, "% s 오브젝트"% base .__ name__ "을 pickle 할 수 없습니다. 사전에 감사드립니다 –