PythonでZODBを用いてデータベース内に保存したデータを取得してみます。
この記事は「PythonでZODBを用いて作成したデータベース内にオブジェクトの保存する」という記事の続きとなります。
今回は、ZODBを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■ZODBを用いてデータベース内に保存したデータを取得する
前回、ZODBを用いて作成したデータベース内にデータを保存しましたので、今度はデータベース内に保存したデータを取得し出力するスクリプトを書いていきます。
■コード
from ZODB import FileStorage, DB storage = FileStorage.FileStorage('my_db.fs') db = DB(storage) connection = db.open() root = connection.root() print(root.items()) connection.close()
まずは「from import」でZODBモジュールのFileStorageとDBを呼び出します。その後、storageという変数を定義し、その中でFileStorage.FileStorage()を用います。括弧内には引数,パラメータとしてデータを保存したストレージを指定するために、今回は「my_db.fs」という名前のストレージを渡します。
その後、dbという変数を定義し、その中でDB()を用います。括弧内には引数,パラメータとしてストレージを渡します。今回はstorage変数を渡します。
渡した後に、connectionという変数を定義し、その中でdb変数に対してopen()を用いて、作成したデータベースを開き、接続します。開いた後にrootという変数を定義し、その中でconnection変数に対してroot()を用います。これでデータベース内の「root」にアクセスできるようになりました。
アクセスが可能になりましたので、root変数に対して、items()を用います。これでオブジェクトが返されます。返されたオブジェクトをprint()で出力します。
出力後、connection.close()を用いて、作成したデータベースとの接続を閉じます。
■実行・検証
このスクリプトを「db_get_data.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。
実行してみると、「PythonでZODBを用いて作成したデータベース内にオブジェクトの保存する」でデータベース内に保存したオブジェクトを出力させることができました。
コメント