我有一个非常庞大的字典,在硬盘中序列化。我没有足够的内存将其完全加载到内存中。我只需要读取字典的特定范围(比如字典中的第100个 - 第200个元素)。
是否可以仅从文件中加载这些元素?请注意,字典的键和值是字符串。
答案 0 :(得分:1)
你是如何序列化数据的? (泡菜/ JSON /...)
另请注意,字典中的元素未排序(除非您使用collections.OrderedDict
)。因此,检索一系列元素可能无法满足您的期望。
如果您尝试处理的数据量超过内存,那么使用某种数据库会不会更好?如果您的数据是dict,则shelve
或redis
可能是合适的。