Maison  >  Article  >  développement back-end  >  Comment enregistrer et charger plusieurs objets dans un fichier Python Pickle ?

Comment enregistrer et charger plusieurs objets dans un fichier Python Pickle ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-30 07:08:27954parcourir

How to Save and Load Multiple Objects in a Python Pickle File?

Enregistrement et chargement de plusieurs objets dans un fichier Pickle Python

Pour enregistrer plusieurs objets dans un fichier Pickle, suivez ces étapes :

<code class="python">import pickle

# Create a list of objects to be saved
objects_to_save = [object1, object2, ...]

# Open a binary file for writing
with open('my_pickle_file', 'wb') as file:

    # Pickle each object and write it to the file
    for obj in objects_to_save:
        pickle.dump(obj, file)</code>

Pour charger plusieurs objets à partir d'un fichier pickle :

<code class="python"># Open the binary file for reading
with open('my_pickle_file', 'rb') as file:

    # Load and print each object from the file
    while True:
        try:
            obj = pickle.load(file)
            print(obj)
        except EOFError:
            break</code>

Considérations supplémentaires :

  • Utilisation de listes : Stocker des objets dans une liste avant le décapage peut offrir de la flexibilité, mais cela ajoute une couche d'abstraction supplémentaire.
  • Approches alternatives : D'autres méthodes comme JSON ou Savez de NumPy peuvent convenir à certains scénarios.
  • Générateur : La solution fournie génère des objets à la demande, évitant ainsi les limitations de mémoire.
  • Efficacité : Si le fichier est volumineux, utiliser un générateur pour charger des objets dans une boucle peut être plus efficace que charger le fichier entier en 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!

Déclaration:
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