1
新的Python一個永久類... 我有下面的類項,擴展字典:如何創建使用泡菜在Python
class Key(dict):
def __init__(self):
self = { some dictionary stuff... }
def __getstate__(self):
state = self.__dict__.copy()
return state
def __setstate__(self, state):
self.__dict__.update(state)
我要保存的類的實例,其數據使用pickle.dump,然後使用pickle.load檢索數據。我明白,我應該以某種方式改變getstate和setstate,但是,我不完全清楚我應該怎麼做......任何幫助將不勝感激!
太棒了!謝謝Keith!但是,我仍然遇到以下錯誤,當我嘗試obj = pickle.load然後打印obj.self:return super(Key,self).__ getitem __(name) KeyError:'self' – 2012-02-23 08:04:00
如果我只是打印obj,奇怪的輸出密鑰({}),而不是{} ...任何想法可能會發生在這裏? – 2012-02-23 08:04:44
ElfsRUs:後者是因爲__repr__方法 - Keith專門設計它看起來像那樣。如果你希望它看起來像{},你可以把它改成'return'%s「%(dict .__ repr __(self),)'。至於第一個問題,你可以發佈你用來獲得追蹤的代碼嗎? – 2012-02-23 08:15:59