【问题标题】:How can I save the state of python code?如何保存python代码的状态?
【发布时间】:2018-12-30 00:35:55
【问题描述】:
def function:
    x=100

var1=type("Myclass",(),{"fucntion":function})

print(var1)

type() 函数会生成一个名为 Myclass 的类,现在我可以从对象调用它,但现在我想保存程序的状态。简单地说,Myclass 是在 type() 时生成的函数运行,当我再次运行程序时,我想以某种方式 Myclass 应该已经声明而不运行 type() 函数。它就像一个改变自身并保存自己的代码,当再次启动时从上次保存的状态运行。

【问题讨论】:

  • 你应该调查pickle
  • 如果你想做类似的事情,你最好为地狱做好准备,好好调试

标签: python dynamic-programming code-generation


【解决方案1】:

您需要研究酸洗。保存变量:

import pickle
def function():
    x=100

var1=type("Myclass",(),{"fucntion":function})
outfile = open(filename,'wb')
pickle.dump(var1,outfile)
outfile.close()
print(var1)

获取变量:

infile = open(filename,'rb')
Myclass = pickle.load(infile)
infile.close()

【讨论】:

  • 酸洗如何保存调用上下文?我不认为你可以检查调用堆栈,如果你不能返回它,你就不能停止/重新启动任意计算。您可以坚持将计算状态保存在已知调用堆栈内容的位置,但这会使停止/恢复变得更加困难,因为强制执行该已知调用堆栈并不容易。
  • Pickling是将Myclass保存到文件中,程序运行一次后,就可以从文件中加载了。
  • 你没有回答问题。
  • 对不起。我的意思是,你没有回答我在评论中提出的问题。
猜你喜欢
  • 2019-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多