我正在实现一个需要在磁盘上存储散列的Unix用户界面工具。散列将在程序的每次运行中被读取,相当频繁。哈希需要仅存储“名称:路径”值。有效的方法来存储字典(哈希)与Python文件?
我查看了bsddb python的标准库模块,但是我可以看到它将在Python 3中被弃用。我还看到了pickle标准库模块。
我不是一个python家伙,那么hash序列化和频繁开放/读/关操作的有效方式是什么?
我正在实现一个需要在磁盘上存储散列的Unix用户界面工具。散列将在程序的每次运行中被读取,相当频繁。哈希需要仅存储“名称:路径”值。有效的方法来存储字典(哈希)与Python文件?
我查看了bsddb python的标准库模块,但是我可以看到它将在Python 3中被弃用。我还看到了pickle标准库模块。
我不是一个python家伙,那么hash序列化和频繁开放/读/关操作的有效方式是什么?
我会从shelve模块开始,看看是不是太慢。它确实是你想要的。
import shelve
d = shelve.open('filename')
d['name'] = 'path'
d.close()
,或者从中读取
d = shelve.open('filename')
d = hash['name']
它本质上是围绕泡菜的包装,提供了一个抽象的字典。
我会使用泡菜,看看它是否足够快,满足您的需求。
+1冷静,从来没有听说过模块之前。尽管如此,为阴影“散列”提供了-0.1。 :o)...好的,现在已经被删除了。 – 2010-09-16 07:38:13
@jellybean,有些东西看起来不对我。将其改为'd'来反映它实际上是一个字典的事实。好看。 – aaronasterling 2010-09-16 07:41:51