【发布时间】:2019-03-13 10:04:40
【问题描述】:
我试图使用 PyYAML 来序列化使用 SampleClass 实例作为键的字典。它可以序列化,但是当我尝试使用yaml.load() 加载它时,它会引发异常:
AttributeError: 'SampleClass' 对象没有属性 'name'
如何解决这个问题?
SampleClass 看起来像这样:
import uuid
class SampleClass:
def __init__(self, name = "<NO NAME>"):
self.objects = []
self.name = name
self.id = uuid.uuid1()
def __eq__(self, other):
if isinstance(other, SampleClass):
return self.name == other.name and \
self.objects == other.objects and \
self.id == other.id
else:
return False
def __hash__(self):
return hash((str(self.name), str(self.id)))
【问题讨论】: