Sérialisation et désérialisation d'objets multiples avec Pickle
En Python, le module pickle fournit un moyen pratique de sérialiser et de désérialiser des objets, mais comment faire vous gérez plusieurs objets ?
Pour enregistrer plusieurs objets dans un fichier pickle, vous pouvez utiliser une liste ou un tuple pour les agréger. Par exemple :
<code class="python">my_objects = [obj1, obj2, obj3] with open('objects.pkl', 'wb') as f: pickle.dump(my_objects, f)</code>
Pour charger les objets, simplement :
<code class="python">with open('objects.pkl', 'rb') as f: my_objects = pickle.load(f)</code>
Le module pickle prend en charge le stockage du nombre d'articles en cours de décapage, ce qui permet de les charger individuellement. Cependant, pour des ensembles de données plus volumineux, tout charger en mémoire peut ne pas être optimal.
Une alternative consiste à utiliser un générateur pour charger les objets un par un :
<code class="python">def loadall(filename): with open(filename, "rb") as f: try: while True: yield pickle.load(f) except EOFError: pass</code>
De cette façon, seulement l'objet suivant est chargé en cas de besoin, économisant ainsi la mémoire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!