Python中存储字典(哈希表)的高效方法是什么?

5
我正在实现一个Unix用户空间工具,需要在磁盘上存储哈希。该哈希表将在程序的每次运行中频繁读取。哈希表只需要存储“名称:路径”值。
我查看了Python标准库模块bsddb,但我可以看到它将在Python 3中被弃用。我还看到了pickle标准库模块。
作为一个非Python开发人员,有没有一种高效的哈希序列化和频繁打开/读取/关闭操作的方法?
3个回答

5
我会从shelve模块开始,看看它是否太慢。它正好符合你的要求。
import shelve

d = shelve.open('filename')

d['name'] = 'path'

d.close()

或者从中读取

d = shelve.open('filename')

d = hash['name']

它本质上是pickle的包装器,提供了一个字典抽象。

+1,以前从未听说过那个模块。不过因为遮蔽了“hash”,扣掉0.1分。 :o) ... 好的,现在已经移除了。 - Johannes Charra
@jellybean,我感觉有些不对劲。将其更改为d以反映它本质上是一个字典。感谢你的关注。 - aaronasterling

0
我会使用pickle,看看它是否足够快速满足您的需求。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接