Лучший способ сохранить большой словарь Python в файле

У меня есть сценарий Python (сценарий 1), который генерирует большой словарь Python. Этот словарь должен быть прочитан другим скриптом (скрипт 2). Может ли кто-нибудь предложить мне лучший способ написать словарь Python, сгенерированный сценарием 1, и прочитать его сценарием 2. В прошлом я использовал cPickle для написания и чтения таких больших словарей. Есть ли лучший способ сделать это?

2 ответа

shelve предоставит вам доступ к каждому элементу отдельно, вместо того, чтобы требовать от вас сериализации и десериализации всего словаря каждый раз.

Если вы хотите, чтобы ваш словарь был доступен для чтения различными типами сценариев (т.е. не только Python), JSON также является хорошим вариантом.

Это не так быстро, как shelve, но он прост в использовании и вполне читабелен для человеческого глаза.


import json
with open("/tmp/test.json", "w") as out_handle:
    json.dump(my_dict, out_handle)  # save dictionary

with open("/tmp/test.json", "r") as in_handle:
    my_dict = json.load(in_handle)  # load dictionary
Другие вопросы по тегам