Эффективный способ хранить словарь (хэш) в файле с Python? - PullRequest
5 голосов
/ 16 сентября 2010

Я реализую пользовательский инструмент Unix, который должен хранить хэш на диске. Хеш будет читаться при каждом запуске программы, довольно часто. Хеш должен хранить только значения "имя: путь".

Я посмотрел на стандартный библиотечный модуль bsddb для python, но вижу, что он устарел в Python 3. Я также видел стандартный библиотечный модуль pickle .

Я не питоник, так каков эффективный способ сериализации хэшей и частых операций открытия / чтения / закрытия?

Ответы [ 3 ]

5 голосов
/ 16 сентября 2010

Я бы начал с модуля shelve и посмотрел, не слишком ли это медленно. Это именно то, что вы хотите.

import shelve

d = shelve.open('filename')

d['name'] = 'path'

d.close()

или читать с него

d = shelve.open('filename')

d = hash['name']

По сути, это обертка вокруг pickle, обеспечивающая словарную абстракцию.

0 голосов
/ 16 сентября 2010

Я бы предложил вам использовать pickle / shelve для сериализации данных.

0 голосов
/ 16 сентября 2010

Я бы использовал маринованные огурцы и посмотрел, достаточно ли быстро для ваших нужд.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...