Maison >développement back-end >Tutoriel Python >Comment le module Pickle de Python sérialise-t-il et désérialise-t-il les objets ?
Comprendre Pickle pour la sérialisation d'objets : préserver les objets Python
Pickle en Python fournit un mécanisme pratique pour sérialiser les objets Python dans un format binaire pour le stockage ou transmission. Avec pickle, vous pouvez enregistrer en toute transparence des structures de données complexes, y compris des dictionnaires, dans des fichiers ou des objets de type octets.
Sérialisation d'un dictionnaire
Pour écrire un nouveau fichier et y vider un dictionnaire à l'aide de pickle, suivez ces étapes :
import pickle a = {'hello': 'world'} with open('filename.pickle', 'wb') as handle: pickle.dump(a, handle, protocol=pickle.HIGHEST_PROTOCOL)
La méthode pickle.dump() sérialise le dictionnaire 'a' dans le fichier binaire 'nomfichier.pickle'. L'argument protocole précise le niveau de compatibilité de sérialisation.
Désérialisation
Pour récupérer le dictionnaire sérialisé à partir du fichier :
with open('filename.pickle', 'rb') as handle: b = pickle.load(handle)
Le cornichon. La méthode load() lit les données binaires et reconstruit le dictionnaire original 'b'.
Polyvalence au-delà des dictionnaires
Pickle ne se limite pas à la sérialisation de dictionnaires. Il peut gérer divers objets Python, notamment des instances de classes personnalisées et des structures de données complexes. Par exemple :
import datetime today = datetime.datetime.now() a = [{'hello': 'world'}, 1, 2.3333, 4, True, "x", ("y", [[["z"], "y"], "x"]), {'today', today}]
Limitations
Bien que le cornichon soit polyvalent, certains objets ne peuvent pas être marinés. Cela inclut les objets qui dépendent des ressources système, tels que les descripteurs de fichiers ouverts.
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!