用Python高效地将字典(哈希)存储到文件的方式?

5 投票
3 回答
1824 浏览
提问于 2025-04-16 04:13

我正在做一个Unix用户工具,需要把一个哈希值存储在磁盘上。这个哈希值会在每次运行程序时读取,使用频率挺高的。哈希值只需要存储“名字:路径”这样的格式。

我查了一下Python的标准库模块bsddb,但是发现它在Python 3中会被淘汰。我还看到了pickle这个标准库模块。

我对Python不太熟悉,所以想知道有什么高效的方法来处理哈希的序列化,以及频繁的打开、读取和关闭操作?

3 个回答

0

我会用pickle这个工具,看看它的速度是否能满足你的需求。

5

我建议你先试试 shelve 这个模块,看看它的速度是否合适。它正好能满足你的需求。

import shelve

d = shelve.open('filename')

d['name'] = 'path'

d.close()

或者用它来读取数据

d = shelve.open('filename')

d = hash['name']

它其实是对 pickle 的一种封装,提供了一个字典的使用方式。

撰写回答