__getstate__ et __setstate__
Résolu/Fermé
riripas
Messages postés
17
Date d'inscription
lundi 27 juin 2016
Statut
Membre
Dernière intervention
25 août 2016
-
25 juil. 2016 à 23:53
soyouz123 Messages postés 1 Date d'inscription jeudi 3 janvier 2019 Statut Membre Dernière intervention 3 janvier 2019 - 3 janv. 2019 à 12:34
soyouz123 Messages postés 1 Date d'inscription jeudi 3 janvier 2019 Statut Membre Dernière intervention 3 janvier 2019 - 3 janv. 2019 à 12:34
A voir également:
- __getstate__ python
- Citizen code python avis - Accueil - Outils
- Trouver la position d'un élément dans une liste python ✓ - Forum Python
- Python est introuvable. exúcutez sans argument pour procúder ó l ✓ - Forum Python
- Extraire données fichier texte python ✓ - Forum Python
2 réponses
Salut,
Dans ton dernier bloc, ce n'est pas
Dans ton dernier bloc, ce n'est pas
Temp().attribut_temporaireque tu dois afficher, mais
score.attribut_temporaire, puisque c'est dans ta variable score que tu affectes la désérialisation ;)
riripas
Messages postés
17
Date d'inscription
lundi 27 juin 2016
Statut
Membre
Dernière intervention
25 août 2016
2
25 juil. 2016 à 23:57
25 juil. 2016 à 23:57
Bon, ma capture d'écran n'est pas passée.
Ca ne marche pas visiblement. Allez, je copie/colle.
Re-bonne soirée. ;)
Ca ne marche pas visiblement. Allez, je copie/colle.
Python 3.5.2rc1 (v3.5.2rc1:68feec6488b2+, Jun 12 2016, 08:56:24) [MSC v.1900 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import pickle
>>> class Temp:
"""Classe contenant plusieurs attributs, dont un temporaire"""
def __init__(self):
"""Constructeur de notre objet"""
self.attribut_1 = "une valeur"
self.attribut_2 = "une autre valeur"
self.attribut_temporaire = 5
def __getstate__(self):
"""Renvoie le dictionnaire d'attributs à sérialiser"""
dict_attr = dict(self.__dict__)
dict_attr["attribut_temporaire"] = 0
return dict_attr
>>> with open("attributs", "wb") as fichier:
pickler = pickle.Pickler(fichier)
pickler.dump(Temp())
print(Temp().attribut_temporaire)
5
>>> with open("attributs", "rb") as fichier:
depickler = pickle.Unpickler(fichier)
score = depickler.load()
print(score)
<__main__.Temp object at 0x0000018D2CFEDA90>
>>> with open("attributs", "rb") as fichier:
depickler = pickle.Unpickler(fichier)
score = depickler.load()
print(Temp().attribut_temporaire)
5
>>>
Re-bonne soirée. ;)
26 juil. 2016 à 20:27
26 juil. 2016 à 20:34
3 janv. 2019 à 12:34