Python の Pickle を使用して複数のオブジェクトをシリアル化および逆シリアル化する方法?

Mary-Kate Olsen
リリース: 2024-11-03 19:10:29
オリジナル
168 人が閲覧しました

How to Serialize and Deserialize Multiple Objects with Pickle in Python?

Pickle を使用した複数のオブジェクトのシリアル化と逆シリアル化

Python では、pickle モジュールはオブジェクトをシリアル化および逆シリアル化する便利な方法を提供しますが、その方法は次のとおりです。複数のオブジェクトを処理しますか?

複数のオブジェクトを pickle ファイルに保存するには、リストまたはタプルを使用してそれらを集約できます。例:

<code class="python">my_objects = [obj1, obj2, obj3]
with open('objects.pkl', 'wb') as f:
    pickle.dump(my_objects, f)</code>
ログイン後にコピー

オブジェクトをロードするには、単に次のようにします:

<code class="python">with open('objects.pkl', 'rb') as f:
    my_objects = pickle.load(f)</code>
ログイン後にコピー

pickle モジュールは、pickle されるアイテムの数の保存をサポートしており、それらを個別にロードすることが可能です。ただし、大規模なデータセットの場合、すべてをメモリにロードするのは最適ではない可能性があります。

代わりに、ジェネレーターを使用してオブジェクトを一度に 1 つずつロードすることもできます。

<code class="python">def loadall(filename):
    with open(filename, "rb") as f:
        try:
            while True:
                yield pickle.load(f)
        except EOFError:
            pass</code>
ログイン後にコピー

この方法のみ次のオブジェクトは必要に応じてロードされ、メモリを節約します。

以上がPython の Pickle を使用して複数のオブジェクトをシリアル化および逆シリアル化する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!