2010-09-16 70 views
5

我正在实现一个需要在磁盘上存储散列的Unix用户界面工具。散列将在程序的每次运行中被读取,相当频繁。哈希需要仅存储“名称:路径”值。有效的方法来存储字典(哈希)与Python文件?

我查看了bsddb python的标准库模块,但是我可以看到它将在Python 3中被弃用。我还看到了pickle标准库模块。

我不是一个python家伙,那么hash序列化和频繁开放/读/关操作的有效方式是什么?

回答

4

我会从shelve模块开始,看看是不是太慢。它确实是你想要的。

import shelve 

d = shelve.open('filename') 

d['name'] = 'path' 

d.close() 

,或者从中读取

d = shelve.open('filename') 

d = hash['name'] 

它本质上是围绕泡菜的包装,提供了一个抽象的字典。

+0

+1冷静,从来没有听说过模块之前。尽管如此,为阴影“散列”提供了-0.1。 :o)...好的,现在已经被删除了。 – 2010-09-16 07:38:13

+0

@jellybean,有些东西看起来不对我。将其改为'd'来反映它实际上是一个字典的事实。好看。 – aaronasterling 2010-09-16 07:41:51

0

我会使用泡菜,看看它是否足够快,满足您的需求。