ホームページ > バックエンド開発 > Python チュートリアル > データを永続化するためにカスタム Python オブジェクトを保存およびロードするにはどうすればよいですか?

データを永続化するためにカスタム Python オブジェクトを保存およびロードするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-30 00:38:08
オリジナル
438 人が閲覧しました

How Can I Save and Load Custom Python Objects for Data Persistence?

データ永続化のための Python オブジェクトの保存

質問:

カスタム Python を作成しましたオブジェクトを保存し、後で使用できるようにしたいと考えています。データの永続化のためにこれを実現するにはどうすればよいですか?

Pickle モジュールを使用したオブジェクトの保存:

Python の標準ライブラリの Pickle モジュールは、データ用にオブジェクトを保存する便利な方法を提供します。持続性。カスタム オブジェクトを使用した次の例を考えてみましょう:

import pickle

class Company:
    def __init__(self, name, value):
        self.name = name
        self.value = value

company1 = Company('banana', 40)
ログイン後にコピー

このオブジェクトを保存するには、次のコードを使用できます:

with open('company_data.pkl', 'wb') as outp:
    pickle.dump(company1, outp, pickle.HIGHEST_PROTOCOL)
ログイン後にコピー

これにより、シリアル化された表現を含む pickle ファイルが作成されます。 company1 オブジェクト。

読み取り値が保存されましたオブジェクト:

保存すると、オブジェクトは逆シリアル化して後で取得できます:

with open('company_data.pkl', 'rb') as inp:
    company1 = pickle.load(inp)
ログイン後にコピー

company1 には、名前と値の属性がそのままの状態で元のオブジェクトが含まれます。

追加考慮事項:

  • cPickle と Pickle: pickle の C バージョンである cPickle は、パフォーマンスが向上しています。利用可能な場合は、インポート cPickle を pickle として使用します。
  • データ ストリーム形式 (プロトコル): Pickle は、さまざまなデータ ストリーム形式をサポートします。互換性を最も高くするには、pickle.HIGHEST_PROTOCOL (-1) を使用します。
  • 複数のオブジェクトの保存: Pickle は、複数のオブジェクトを 1 つのファイルに保存できます。リストや辞書などのコンテナを使用してグループ化します。

以上がデータを永続化するためにカスタム Python オブジェクトを保存およびロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート