Jython保存程序状态



是否可以保存jython程序的状态?我希望能够保存所有定义的变量,并且程序上的当前行,重新启动整个内容,然后从那里恢复。我研究了Pickling,但这仅序列化,而不是整个状态。我认为我需要的是 Continuation,就像在无stackless python中一样。我可以在jython吗?

我的python文件看起来像这样:

def main()
    engine.blockingMethod()
    testVar = engine.blockingMethodReturn()
    if(testVar == "a"):
        methodA()
    else:
        methodB()
def methodA ()
    engine.blockingMethod()
def methodB()
    engine.blockingMethod()

我的程序需要能够在任何这些方法之后退出。由于if语句,加载文件时,我不能只阅读所有这些内容。我不知道该采取相应的行动,因为当用户要退出时,我的程序并没有完全运行。我这样运行:

pyScript.start();
System.out.println("Done")

在单独的线程中,因为大多数是我从python文件中调用的方法。我可以保存以前的操作,并运行文件,直到我到达最后一个保存的历史记录的最后一个,但是由于if语句,这是行不通的。因此,当玩家按下出口按钮时,我需要保存状态并杀死线程。类似的东西:https://www.enpy.org/doc/html/save_load_rollback.html

您当然可以保存变量的值。这是文件的全部目的。

您无法轻松保存所使用的代码行。该程序应在执行的已知点退出,以便自动知道重新启动时如何继续。

可能有一个简单的方法,但是我最终制作了自己的python parser

最新更新