私は、忘れたshelve
モジュールを、Berkley DBファイルまたはdbmファイル(anydbm
で選択されたもの)に基づいて永続的な辞書を効果的に提供することをお勧めします。 dbは、あなたの大きな辞書のためのパフォーマンスの向上を提供する必要があります。
使用例:
import shelve
shelf = shelve.open('my_shelf')
>>> shelf
{}
# add your dictionaries (or any pickleable objects)
shelf['dict1'] = dict(a=10, b=20, c=30, l=[10, 20, 30])
shelf['dict2'] = dict(a=100, b=200, c=300, l=[100, 200, 300])
shelf['dict3'] = dict(a=1000, b=2000, c=3000, l=[1000, 2000, 3000])
>>> shelf
{'dict1': {'a': 10, 'c': 30, 'b': 20, 'l': [10, 20, 30]}, 'dict3': {'a': 1000, 'c': 3000, 'b': 2000, 'l': [1000, 2000, 3000]}, 'dict2': {'a': 100, 'c': 300, 'b': 200, 'l': [100, 200, 300]}}
shelf.close()
# then, later
shelf = shelve.open('my_shelf')
>>> shelf
{'dict1': {'a': 10, 'c': 30, 'b': 20, 'l': [10, 20, 30]}, 'dict3': {'a': 1000, 'c': 3000, 'b': 2000, 'l': [1000, 2000, 3000]}, 'dict2': {'a': 100, 'c': 300, 'b': 200, 'l': [100, 200, 300]}}
のロード中に適切な範囲を設定することにより、わずかなものをロードすることができ、私はそれを探しています。それを見つけません。 – Tekkzz