2021-08-06に投稿

Python 標準ライブラリ shelve 辞書永続化

Pythonのライブラリshelve(シェルヴ・棚)を使うと、
Pythonのインスタンスを辞書的に保持することができる。

概要

以下の例ではshelve.openで指定したディレクトリ内に永続化した情報のファイルが保持される。

shelve.open(filename, flag='c', protocol=None, writeback=False)

import shelve

with shelve.open('./db/file') as db:
    db['one'] = 1
    db['two'] = 2
    db['three'] = 3
    print(list(db.keys())) # => ['one', 'two', 'three']
    print(list(db.values())) # => [1, 2, 3]
    print(list(db.items())) # => [('one', 1), ('two', 2), ('three', 3)]
    print(dict(db.dict)) # = > {b'one': b'\x80\x03K\x01.', b'two': b'\x80\x03K\x02.', b'three': b'\x80\x03K\x03.'}
    print(db.get('two')) # => 2


with shelve.open('./db/file') as db:
    print(list(db.items())) # => [('one', 1), ('two', 2), ('three', 3)]

参考

shelve --- Python オブジェクトの永続化

Originally published at marusankakusikaku.jp
ツイッターでシェア
みんなに共有、忘れないようにメモ

maru3kaku4kaku

Pythonこつこつ学習中。よく忘れる。

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント