Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于pickle整个环境的python脚本_Python_Pickle - Fatal编程技术网

用于pickle整个环境的python脚本

用于pickle整个环境的python脚本,python,pickle,Python,Pickle,我在Python REPL中工作,我希望定期保存我的工作。有人有脚本转储我定义的所有变量吗?我在找这样的东西: for o in dir(): f=open(o) pickle(o_as_object, f) 这似乎是其他人做过的事情,所以我想在重新发明轮子之前问一下 我想你想要: 除了pickle python对象之外,dill还提供了 在单个命令中保存解释器会话的状态。因此,, 可以保存一个口译员会话,关闭 解释器,将酸洗过的文件发送到另一台计算机,打开一个新的 解释器,取

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

for o in dir():
    f=open(o)
    pickle(o_as_object, f)
这似乎是其他人做过的事情,所以我想在重新发明轮子之前问一下

我想你想要:

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

注意,它仍然是alpha格式,所以不要依赖它来存储关键数据


当然,有些东西无法还原,例如打开的文件句柄。但是你可以靠得很近。

我不认为这在一般情况下是可能的。并非python中的所有内容都可以pickle,因此您必须编写自己的代码来决定要pickle什么、不需要什么以及如何处理无法pickle的意外值;但是,如果您想要文件内容,则将内容传递给StringIO,StringIO也可以序列化。整洁!它是否恢复了您在文件中的位置并重新打开了文件?是的。它复制文件指针,以便您在文件中处于相同的位置,同时假设文件没有发生任何奇怪的事情。它还处理关闭的文件句柄、stdin/stdout/stderr和临时文件。。。如果失败,尝试构建devnull的文件句柄。。。如果做不到这一点,这将是一个令人不快的错误。不确定这是否是最好的失败行为,但这就是现在的情况……很显然,由于3.2酸洗某些文件句柄现在更严格地被禁止。get_state方法已设置为对
io
模块中的许多派生文件对象抛出错误。因此,现在回到3.2中的
io
部分的绘图板。在这里插入悲伤的表情。。。以及2.6.x和2.7.x的最新版本。显然,一个人的“错误修正”是另一个人的“错误”。