A pickle problem!

Paulo da Silva p_s_d_a_s_i_l_v_a_ns at netcabo.pt
Thu Apr 21 17:43:05 EDT 2016


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


dates = pd.date_range('20130101', periods=6)
c = C("FOO",np.random.randn(6,4), index=dates, columns=list('ABCD'))

cd=pickle.dumps(c,pickle.HIGHEST_PROTOCOL)

d=pickle.loads(cd)

d.GetName()

# AttributeError: 'C' object has no attribute '_C__name'



More information about the Python-list mailing list