首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我需要通过在硬盘上存储Python字典来释放RAM,而不是在RAM中。有可能吗?

我需要通过在硬盘上存储Python字典来释放RAM,而不是在RAM中。有可能吗?
EN

Stack Overflow用户
提问于 2010-08-03 07:54:25
回答 4查看 2.2K关注 0票数 2

在我的例子中,我有一个包含大约6000个实例化类的字典,其中每个类都有1000个属性变量,类型都是字符串或字符串列表。当我建立这本字典的时候,我的RAM增长得非常快。有没有办法编写字典,因为它是建立在硬盘驱动器而不是RAM中,以便我可以节省一些内存?我听说过一种叫“泡菜”的东西,但我不知道这对我正在做的事情是不是一个可行的方法。

谢谢你的帮忙!

EN

Stack Overflow用户

发布于 2010-08-03 14:41:31

“我有一个大约6000个实例化类的字典,其中每个类都有1000个属性变量,所有类型都是字符串或字符串列表”...我假设你的意思是:“我有一个类,它有大约1000个属性,所有属性的类型都是strstrlist。我有一个字典,将大约6000个未指定类型的键映射到该类的相应实例。”如果这不是一个合理的翻译,请更正它。

首先,一个类中有1000个属性是令人难以置信的。您必须一般地使用value = getattr(obj, attr_name)setattr(obj, attr_name, value)来处理绝大多数问题。考虑使用字典而不是实例:value = obj[attr_name]obj[attr_name] = value

其次,这600万个属性中有多大百分比是""?如果足够高,您可能会考虑使用__missing__钩子-- docs here实现一个稀疏字典,该字典在物理上没有这些属性的条目。

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

https://stackoverflow.com/questions/3392663

复制
相关文章

相似问题

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