JY-CONTENTS

JY

JY-CONTENTS
search

+

MENU

【Python】標準ライブラリ shelveモジュール

【Python】標準ライブラリ shelveモジュール

(DATE)

-

2016.12.27

(CATEGORY)

-

shelveは、「ディクショナリ」と同じ使い勝手を持つデータベースです。
簡易的なデータベースになります。
has_key や setdefault などといったメソッドもディクショナリのときと同じように使え、それらを用いて色々処理するということもできます。
キーの一覧を keys を使って取得もできます。
ファイル(データベース)に残る、という特徴以外は、ディクショナリと同じです。

import shelve
 
a = shelve.open('database')   #---shelve.open関数を実行してその結果を a に代入
a['name'] = 'Yamada taro'
print a['name']    #---'Yamada taro'を表示

スクリプトが正常に実行できたら、同ディレクトリ内に database という名前のファイルができます。
これがshelveデータベースのファイルになります。
shelve.open 関数の引数で、使うデータベースを指定します。
すでにこのデータベースがあればそれを使うが、なかった場合は自動的に新しく作成します。

database.dat
database.dir

このファイルは、pythonのshelveモジュールでしか使えない、専用の形式で作られています。

このファイル(データベース)が同ディレクトリ内に残っていれば、python を終了しても、次にpythonを実行しなおしたときにキーを使って値を呼び出すことができます。

import shelve
 
a = shelve.open('database')   #---shelve.open関数を実行してその結果を s に代入
print a['name']    #---'Yamada taro'を表示

キーに対応する値がないときは、ディクショナリと同じように KeyError という例外が発生する。

NEW TOPICS

/ ニュー & アップデート

SEE ALSO

/ 似た記事を見る

JY CONTENTS UNIQUE BLOG

search-menu search-menu