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 :
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)
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
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)
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')
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!