我正在实现一个Unix用户空间工具,需要在磁盘上存储哈希。该哈希表将在程序的每次运行中频繁读取。哈希表只需要存储“名称:路径”值。我查看了Python标准库模块bsddb,但我可以看到它将在Python 3中被弃用。我还看到了pickle标准库模块。作为一个非Python开发人员,有没有一种高效的哈希序列化和频繁打开/读取/关闭操作的方法?
我会从shelve模块开始,看看它是否太慢。它正好符合你的要求。import shelve d = shelve.open('filename') d['name'] = 'path' d.close() 或者从中读取 d = shelve.open('filename') d = hash['name'] 它本质上是pickle的包装器,提供了一个字典抽象。
我建议您使用pickle / shelve来序列化数据。 http://www.saltycrane.com/blog/2008/01/saving-python-dict-to-file-using-pickle/ http://docs.python.org/library/shelve.html
d
以反映它本质上是一个字典。感谢你的关注。 - aaronasterling