Maison > développement back-end > Tutoriel Python > Comment Pickle un chœur d'objets : sauvegarde et chargement de plusieurs instances avec Pickle de Python ?

Comment Pickle un chœur d'objets : sauvegarde et chargement de plusieurs instances avec Pickle de Python ?

DDD
Libérer: 2024-10-30 09:01:27
original
373 Les gens l'ont consulté

How to Pickle a Chorus of Objects: Saving and Loading Multiple Instances with Python's Pickle?

Pickle un chœur d'objets : comment enregistrer et charger plusieurs instances

Le module pickle de Python offre un moyen pratique de sérialiser des objets dans un fichier , permettant leur persistance pour une utilisation ultérieure. Mais qu’en est-il des scénarios dans lesquels plusieurs objets nécessitent d’être préservés ? Cet article examine les méthodes permettant de gérer de telles situations.

L'énigme du cornichon : l'histoire d'un ou de plusieurs

Comme vous l'avez découvert, le cornichon excelle dans la sauvegarde d'un seul objets. Cependant, étendre cette fonctionnalité à plusieurs objets soulève des questions : peuvent-ils être sauvegardés collectivement ? Existe-t-il des alternatives impliquant des listes ou d'autres approches ?

Exploiter le pouvoir des cornichons : sérialisation collective

Rassurez-vous, les capacités de pickle s'étendent à la préservation de plusieurs objets dans un seul fichier. La clé de cette approche d'ensemble réside dans une boucle for qui parcourt les objets, sérialisant chacun d'eux à l'aide de pickle.dump().

<code class="python">import pickle

# Sample list of players
players = [Player1, Player2, Player3]

with open('players.pkl', 'wb') as f:
    for player in players:
        pickle.dump(player, f)</code>
Copier après la connexion

Récupération de l'ensemble Pickled : dévoilement des mélodies enregistrées

Une fois les joueurs sélectionnés, la récupération est un simple processus inverse. En utilisant à nouveau une boucle for, parcourez le fichier pickle et chargez chaque objet avec pickle.load().

<code class="python">import pickle

with open('players.pkl', 'rb') as f:
    loaded_players = []
    while True:
        try:
            loaded_players.append(pickle.load(f))
        except EOFError:
            break</code>
Copier après la connexion

Optimisation de Pickle Symphony : deux ajouts

Au-delà de l'approche fondamentale, envisagez ces améliorations :

  1. Évitez le stockage de longueur explicite : utilisez un générateur pour charger des objets en continu jusqu'à ce que la fin du fichier soit atteinte, réduisant ainsi considérablement la consommation de mémoire.
  2. Avantages du générateur. : L'adoption d'un générateur offre un chargement incrémentiel respectueux de la mémoire, particulièrement utile pour les grands ensembles de données.

En incorporant ces techniques, vous maîtriserez l'art de sauvegarder et de charger plusieurs objets avec pickle, transformant ainsi votre logiciel en une symphonie de mélodies parfaitement persistantes.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal