2010-09-16 69 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

我會使用泡菜,看看它是否足夠快,滿足您的需求。