是否可以保存Jython程序的状态?我希望能够保存所有已定义的变量和程序所在的当前行,重新启动整个程序,然后从那里继续。我查看了Pickling
,但这只是序列化了一个类,而不是整个状态。我认为我需要的是Continuation
,就像在无堆栈的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")
在一个单独的Thread中,因为我从Python文件中调用的方法大部分都是阻塞的。我可以保存以前的操作,并运行该文件,直到我到达保存的历史记录的最后一个,但由于if
语句,这不起作用。所以当玩家按下Exit按钮时,我需要保存状态并终止线程。这样的事情:https://www.renpy.org/doc/html/save_load_rollback.html
答案 0 :(得分:0)
您当然可以保存变量的值。这是文件的整个目的。
您无法轻松保存所在的代码行。程序应该在执行中的已知点退出,以便在重新启动时自动知道如何继续。
答案 1 :(得分:0)
可能有一种更简单的方法,但我最终制作了自己的Python解析器