Maison >développement back-end >Tutoriel Python >Comment puis-je enregistrer et récupérer efficacement des objets Python à l'aide de Pickle ?

Comment puis-je enregistrer et récupérer efficacement des objets Python à l'aide de Pickle ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-09 09:03:06899parcourir

How Can I Efficiently Save and Retrieve Python Objects Using Pickle?

Sauvegarde d'objets : implémentation de la persistance des données

Dans la programmation orientée objet, le stockage et la récupération des états des objets sont cruciaux pour la persistance des données.

Pour enregistrer un objet, vous pouvez utiliser le module Python pickle. Explorons comment :

  1. Emballage d'objets pour Pickle :
    À l'aide du module pickle, vous pouvez sérialiser des objets en les "enveloppant" dans un flux binaire. Vous pouvez y parvenir en ouvrant un fichier en mode écriture binaire (« wb ») et en utilisant la fonction pickle.dump() pour stocker votre objet :

    import pickle
    
    # Example object
    company1 = Company('banana', 40)
    
    with open('company_data.pkl', 'wb') as outp:
     pickle.dump(company1, outp, pickle.HIGHEST_PROTOCOL)
  2. Exploiter cPickle ou _pickle (Python 3) :
    Pour des performances accrues, pensez à utiliser cPickle (ou _pickle dans Python 3) car il est considérablement plus rapide que le module cornichon. Remplacez simplement l'instruction d'importation :

    import cPickle as pickle
  3. Optimisation des versions de protocole :
    Pickle utilise différents protocoles pour écrire des données dans différents formats. Le protocole 0 est lisible par l'homme, tandis que les versions >0 sont binaires. La spécification de la version la plus élevée (-1) garantit l'utilisation du dernier protocole pris en charge pour votre version de Python :

    pickle.dump(obj, outp, -1)
  4. Enregistrement de plusieurs objets :
    Vous peut stocker plusieurs objets dans un seul fichier pickle en utilisant une liste, un tuple ou dict :

    tech_companies = [
     Company('Apple', 114.18),
     Company('Google', 908.60),
     Company('Microsoft', 69.18)
    ]
    
    save_object(tech_companies, 'tech_companies.pkl')
  5. Décapage des objets stockés :
    Pour restaurer les objets enregistrés, ouvrez simplement le fichier pickle en mode lecture binaire ("rb") et utilisez pickle.load() pour récupérer les données :

    with open('company_data.pkl', 'rb') as inp:
     company1 = pickle.load(inp)

En conclusion, en utilisant le Le module pickle fournit une méthode efficace pour enregistrer et restaurer des objets, vous permettant de créer des structures de données persistantes pour vos applications.

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