python脚本腌制整个环境

ben*_*hsu 5 python pickle

我正在Python REPL中工作,我想定期保存我的工作。有人有脚本来转储我定义的所有变量吗?我正在寻找这样的东西:

for o in dir():
    f=open(o)
    pickle(o_as_object, f)
Run Code Online (Sandbox Code Playgroud)

这似乎是其他人所做的事情,因此我想问一下重新发明轮子之前的问题。

Tho*_*s K 4

我想你想要迪尔

除了 pickling python 对象之外,dill 还提供了在单个命令中保存解释器会话状态的功能。因此,可以保存解释器会话,关闭解释器,将 pickle 文件发送到另一台计算机,打开新解释器,取消pickle 会话,从而从原始解释器会话的“已保存”状态继续。

请注意,它仍处于 alpha 阶段,因此不要依赖它来存储关键数据。

当然,有些东西是无法恢复的,比如打开的文件句柄。但你可以非常接近。