Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #107499
| From | Ian Kelly <ian.g.kelly@gmail.com> |
|---|---|
| Newsgroups | comp.lang.python |
| Subject | Re: A pickle problem! |
| Date | 2016-04-22 10:27 -0600 |
| Message-ID | <mailman.18.1461342496.2861.python-list@python.org> (permalink) |
| References | <nfbhh6$dbd$1@gioia.aioe.org> <nfc04n$u2o$1@gioia.aioe.org> <CALwzidkTeXOMdAkuQ3UdcJhWNUQjzjzp4eZqmSOXtydMurka6w@mail.gmail.com> |
On Thu, Apr 21, 2016 at 7:52 PM, Paulo da Silva <p_s_d_a_s_i_l_v_a_ns@netcabo.pt> wrote: > Às 22:43 de 21-04-2016, Paulo da Silva escreveu: >> Hi. >> >> Why in this code fragment self.__name is not kept between pickle >> dumps/loads? How to fix it? >> >> Thanks. >> >> import pickle >> import pandas as pd >> import numpy as np >> >> class C(pd.DataFrame): >> def __init__(self,name,*a,**b): >> super(C,self).__init__(*a,**b) >> self.__name=name >> >> def GetName(self): >> return self.__name >> > # Adding this works but looks tricky! > > def __getstate__(self): > dfstate=super(C,self).__getstate__() > cstate=(dfstate,self.__name) > return cstate > > def __setstate__(self,cstate): > super(C,self).__setstate__(cstate[0]) > self.__name=cstate[1] Probably this is necessary because the DataFrame class is already customizing its pickle behavior without taking into account the possibility of added attributes by subclasses. I think that your solution of wrapping the state of the superclass looks fine.
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
A pickle problem! Paulo da Silva <p_s_d_a_s_i_l_v_a_ns@netcabo.pt> - 2016-04-21 22:43 +0100
Re: A pickle problem! Paulo da Silva <p_s_d_a_s_i_l_v_a_ns@netcabo.pt> - 2016-04-22 02:52 +0100
Re: A pickle problem! Ian Kelly <ian.g.kelly@gmail.com> - 2016-04-22 10:27 -0600
Re: A pickle problem! Paulo da Silva <p_s_d_a_s_i_l_v_a_ns@netcabo.pt> - 2016-04-22 21:21 +0100
Re: A pickle problem! Ian Kelly <ian.g.kelly@gmail.com> - 2016-04-22 14:33 -0600
Re: A pickle problem! Paulo da Silva <p_s_d_a_s_i_l_v_a_ns@netcabo.pt> - 2016-04-22 21:48 +0100
Re: A pickle problem! Fabien <fabien.maussion@gmail.com> - 2016-04-24 12:20 +0200
csiph-web