Shelve は、オブジェクトを永続化するための強力な Python モジュールです。オブジェクトをシェルブするときは、オブジェクトの値を識別するキーを指定する必要があります。このようにして、シェルブ ファイルは保存された値のデータベースになり、いつでもアクセスできるようになります。
Python でのシェルビングのサンプル コード
オブジェクトをシェルブするには、まずモジュールをインポートし、次に次のようにオブジェクト値を割り当てます。 ## たとえば、株価データベースを保存したい場合は、次のコードを調整できます。
import shelve database = shelve.open(filename.suffix) object = Object() database['key'] = object
「stock value.db」はすでに開いているため、再度開く必要はありません。代わりに、一度に複数のデータベースを開き、それぞれに自由に書き込み、プログラムの終了時に Python でデータベースを閉じることができます。たとえば、シンボルごとに別個の名前データベースを保持し、次のコードを前のコードに追加することができます。
import shelve stockvalues_db = shelve.open('stockvalues.db') object_ibm = Values.ibm() stockvalues_db['ibm'] = object_ibm object_vmw = Values.vmw() stockvalues_db['vmw'] = object_vmw object_db = Values.db() stockvalues_db['db'] = object_db
データベース ファイルの名前またはサフィックスを変更すると、別のファイルが構成され、異なるファイルが形成されることに注意してください。データベース。
結果は、指定された値を含む 2 番目のデータベース ファイルです。カスタム形式で書かれたほとんどのファイルとは異なり、シェルブされたデータベースはバイナリ形式で保存されます。
データをファイルに書き込んだ後は、いつでも呼び出すことができます。今後のセッションでデータを復元する場合は、ファイルを再度開きます。同じセッションの場合は、値を呼び出すだけで、シェルブ データベース ファイルは読み取り/書き込みモードで開かれます。これを実現するための基本的な構文は次のとおりです。
## assuming shelve is already imported stocknames_db = shelve.open('stocknames.db') objectname_ibm = Names.ibm() stocknames_db['ibm'] = objectname_ibm objectname_vmw = Names.vmw() stocknames_db['vmw'] = objectname_vmw objectname_db = Names.db() stocknames_db['db'] = objectname_db
したがって、前の例の例は次のようになります。
import shelve database = shelve.open(filename.suffix) object = database['key']
シェルビングに関する考慮事項
次のことに注意することが重要です。閉じる データベースは、データベースが開かれるまで (またはプログラムが終了するまで) 開いたままになります。したがって、任意のサイズのプログラムを作成する場合は、使用後にデータベースを閉じる必要があります。そうしないと、データベース全体 (必要な値だけでなく) がメモリ内に留まり、コンピューティング リソースが消費されます。
シェルブ ファイルを閉じるには、次の構文を使用します。
import shelve stockname_file = shelve.open('stocknames.db') stockname_ibm = stockname_file['ibm'] stockname_db = stockname_file['db']
上記のすべてのコード例を 1 つのプログラムに結合すると、2 つのデータベース ファイルが開き、メモリを消費することになります。したがって、前の例で銘柄名を読み取った後、次のように各データベースを順番に閉じることができます:
database.close()
以上がShelve を使用して Python でオブジェクトを保存する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。