ホームページ  >  記事  >  バックエンド開発  >  Python で永続オブジェクトを実装するにはどうすればよいですか?

Python で永続オブジェクトを実装するにはどうすればよいですか?

WBOY
WBOY転載
2023-09-13 12:41:02783ブラウズ

Python で永続オブジェクトを実装するにはどうすればよいですか?

Python で永続オブジェクトを実装するには、次のライブラリを使用します。

    ###棚の上###
  • ピクルス
  • 棚上げモジュール

「Shelf」は永続的な辞書のようなオブジェクトです。 「dbm」データベースとの違いは、シェルフ内の値 (キーではありません!) は基本的に任意の Python オブジェクト、つまり pickle モジュールが処理できるものであれば何でもできることです。これには、ほとんどのクラス インスタンス、再帰データ型、および多数の共有サブオブジェクトを含むオブジェクトが含まれます。

いくつかの重要なメソッドがあります -

  • shelve.open()

    - 永続辞書を開きます。指定されたファイル名は、基礎となるデータベースの基本ファイル名です。副作用として、ファイル名に拡張子が追加され、複数のファイルが作成される場合があります。デフォルトでは、基礎となるデータベース ファイルが読み取りと書き込みのために開かれます。

  • shelve.sync()

    -ライトバックを True に設定してシェルフをオンにすると、キャッシュ内のすべてのエントリが書き戻されます。可能であれば、キャッシュもフラッシュされ、永続辞書がディスク上のデータと同期されます。このメソッドは、close() を使用してシェルフが閉じられると自動的に呼び出されます。

  • shelve.close()

    -永続辞書オブジェクトを同期して閉じます。

  • pickleモジュール

pickle モジュールは、Python オブジェクトをシリアル化および逆シリアル化するためのバイナリ プロトコルを実装します。 構造。

  • Pickle

    は、Python オブジェクト階層をバイトに変換するプロセスです 流れ。オブジェクト階層をシリアル化するには、単純に dumps() 関数を呼び出します。

  • 解凍

    はその逆の操作です。バイナリ ファイルまたはバイト オブジェクトのようなバイト ストリームから解析 それをオブジェクト階層に変換して戻します。データ ストリームを逆シリアル化するには、loads() 関数を呼び出します。 関数。

  • Pickleモジュール関数

pickle モジュールが提供する関数は次のとおりです。

  • pickle.dump()

    - オブジェクトの pickle 表現を、開いているファイル オブジェクト ファイルに書き込みます。

  • pickle.dumps()

    -オブジェクトの pickle 表現をバイトオブジェクトとして返します。 ファイルに書き込みます。

  • pickle.load()

    - 開いているファイル オブジェクト ファイルからオブジェクトの pickle 表現を読み取ります。

  • pickle.loads()

    - データの pickle 表現の再構築されたオブジェクト階層を返します。 物体###### ###例### まず、pickle モジュールをインポートします -

    リーリー
  • ピクルス用に次の入力を作成しました。
リーリー

demo.pickle ファイルが作成されました。これと同じ .pickle ファイルが上記のリストでピクル化されます。

リーリー

次に、上記の pickle ファイルを unpickle にして、入力値を取得します。

リーリー

次に、完全な例を見てみましょう。

リーリー ###出力### ああああ

以上がPython で永続オブジェクトを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。