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 サイトの他の関連記事を参照してください。