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()で値を出力させることができました。しかし、今回は本来であれば「田中」という日本語の値を設定していたのですが、文字化けが発生していました。
コメント