是否可以从硬盘加载特定范围的序列化 python 字典?
Is it possible to load a particular range of a serialized python dictonary from hard disk?
我有一本非常大的词典,在硬盘上序列化了。我没有足够的内存来将它完全加载到内存中。我只需要阅读字典的特定范围(比如字典中的第 100-200 个元素)。
是否可以从文件中只加载这些元素?请注意,字典的键和值是字符串。
你是如何序列化数据的? (pickle/json/...)
另请注意,字典中的元素不会排序(除非您使用 collections.OrderedDict
)。因此检索一系列元素可能无法达到您的预期。
如果您要处理的数据量超过内存,使用某种数据库不是更好吗?如果您的数据是字典,则 shelve
或 redis
之类的内容可能是合适的。
我有一本非常大的词典,在硬盘上序列化了。我没有足够的内存来将它完全加载到内存中。我只需要阅读字典的特定范围(比如字典中的第 100-200 个元素)。
是否可以从文件中只加载这些元素?请注意,字典的键和值是字符串。
你是如何序列化数据的? (pickle/json/...)
另请注意,字典中的元素不会排序(除非您使用 collections.OrderedDict
)。因此检索一系列元素可能无法达到您的预期。
如果您要处理的数据量超过内存,使用某种数据库不是更好吗?如果您的数据是字典,则 shelve
或 redis
之类的内容可能是合适的。