我正在实现一个需要在磁盘上存储哈希的Unix用户空间工具。每次运行程序都会读取哈希值,非常频繁。哈希只需要存储“name:path”值。
我查看了用于python的bsddb标准库模块,但我可以看到它将在Python 3中弃用。我还看到了pickle标准库模块。
我不是蟒蛇人,那么哈希序列化和频繁打开/读取/关闭操作的有效方法是什么?
答案 0 :(得分:5)
我会从shelve模块开始,看看它是不是太慢了。它完全符合您的要求。
import shelve
d = shelve.open('filename')
d['name'] = 'path'
d.close()
或从中读取
d = shelve.open('filename')
d = hash['name']
它本质上是一个提供字典抽象的pickle包装器。
答案 1 :(得分:0)
我会使用泡菜,看看它是否足够快以满足您的需求。
答案 2 :(得分:0)