"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > 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 ?

Publié le 2024-11-20
Parcourir:260

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 : une 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 la puissance de Pickles : 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().

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)

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

Une fois les lecteurs mariné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().

import pickle

with open('players.pkl', 'rb') as f:
    loaded_players = []
    while True:
        try:
            loaded_players.append(pickle.load(f))
        except EOFError:
            break

Optimisation de Pickle Symphony : deux ajouts

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

  1. Évitez le stockage de longueur explicite : utilisez un générateur pour charger les objets en continu jusqu'à ce que la fin du fichier soit atteinte, réduisant considérablement la consommation de mémoire.
  2. Avantages du générateur : l'adoption d'un générateur offre 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 votre logiciel en une symphonie de persistance transparente mélodies.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3