Pythonでdbmを用いてデータベースに登録したキーに対応する値を返す

スポンサーリンク

Pythonでdbmを用いてデータベースに登録したキーに対応する値を出力してみます。

今回は「Pythonの「データベース マネージャー (dbm)」パッケージを用いてデータを挿入する」という記事の続きとなります。なお、今回はdbmパッケージを用います。このパッケージは、Pythonに組み込まれていますので、事前にインストールする必要はありません。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■dbmを用いてデータベースに登録したキーに対応する値を返す

では、早速dbmを用いてデータベースに登録したキーに対応する値を返すスクリプトを書いていきます。

■コード

import dbm

db=dbm.open('test_dbm.db','r')

print(db.get('name'))

db.close()

まずはimportでdbmモジュールを呼び出します。dbmは組み込みパッケージなので、インストールの必要はありません。その後、dbという変数を定義し、その中でdbm.open()を用います。括弧内の第1の引数,パラメータに渡します。今回は、前回「test_dbm.db」というデータベースを作成しましたので、これを渡します。そして第2の引数,パラメータには権限のモードを渡します。今回は「r」とします。これで既存のデータベースを読み取り専用で開くモードになります。

その後、db変数に対してget()を用います。今回はデータベース内に「name」というキーを設定していますので、括弧内には引数,パラメータとして「name」とします。これでデータベース内でキーに対応する値が返されます。返された値をprint()で出力します。

出力後、db.close()を用いてデータベースを閉じます。

■実行・検証

このスクリプトを「db_data_p.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。

実行してみると、get()を用いてデータベース内でキーに対応する値が返され、print()で値を出力させることができました。しかし、今回は本来であれば「田中」という日本語の値を設定していたのですが、文字化けが発生していました。

コメント

タイトルとURLをコピーしました