Maison > développement back-end > Tutoriel Python > Comment sérialiser et désérialiser plusieurs objets avec Pickle en Python ?

Comment sérialiser et désérialiser plusieurs objets avec Pickle en Python ?

Mary-Kate Olsen
Libérer: 2024-11-03 19:10:29
original
235 Les gens l'ont consulté

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

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>
Copier après la connexion

Pour charger les objets, simplement :

<code class="python">with open('objects.pkl', 'rb') as f:
    my_objects = pickle.load(f)</code>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal