首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >保存工作区-将所有变量保存到文件。Python没有)

保存工作区-将所有变量保存到文件。Python没有)
EN

Stack Overflow用户
提问于 2010-06-10 23:58:00
回答 5查看 8.1K关注 0票数 3

我不能理解它。非常简单和明显的功能:你有一个用任何编程语言编写的代码,你可以运行它。在这段代码中,您可以生成变量,然后使用一个命令将它们(值、名称,即所有内容)保存到一个文件中。当它被保存后,你也可以用简单的命令在你的代码中打开这样的文件。它在matlab (保存工作区,加载工作区)中工作得很好-在python中有一些奇怪的"pickle“协议,它总是产生错误,而我想做的就是保存变量,然后在另一个会话中再次加载它(?)f.e.你不能用变量来保存类(在Matlab中没有问题),你不能在cPickle中加载数组(但是You可以保存它们(?))为什么不让它更简单一些呢?有没有一种方法可以保存当前变量和值,然后加载它们?

EN

回答 5

Stack Overflow用户

发布于 2010-06-11 00:07:48

您所描述的是Matlab环境特性,而不是编程语言。您需要的是一种存储某个对象的序列化状态的方法,这几乎可以在任何编程语言中轻松完成。在python的世界里,pickle是实现它的最简单的方法,如果你能提供更多关于它为你产生的错误的细节,人们可能会给你更多的细节。一般而言,对于面向对象的语言(包括python),将状态封装到单个对象中,然后存储/加载此类类的实例,这始终是一种好方法。对于许多开发人员来说,这类对象的酸洗和解酸工作得很好,所以这一定是特定于您的实现的。

票数 2
EN

Stack Overflow用户

发布于 2010-06-11 09:21:16

既然您正在谈论Matlab语言,那么您可能想尝试一下IPython,它是一个Python,它提供了比您在执行Python时获得的标准解释器shell更多的功能。

其中的功能包括加载/保存工作空间会话,在会话输入之外创建宏等,这可能更像你在Matlab中使用的功能(我实际上使用了这两种功能,并且发现IPython更优雅,但YMMV):

http://ipython.scipy.org

票数 2
EN

Stack Overflow用户

发布于 2010-06-11 00:11:26

PiCloud实现了一个更花哨的pickle,但我找不到代码。我看到了一个poster session

通常在Python中,实例化的对象没有任何一种方法可以重新创建它们,在某些情况下,它特别困难(就像一个打开的文件),因为它需要几个步骤才能重新创建。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3016116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档