我想用yaml.safe_dump()
序列化一些对象。如何用add_representer()
和add_constructor()
序列化Python对象。。。在
我不能补充山药对东西(第三方模块)不想使用。在
我做了这样的倾倒:
import yaml
class Thing(object):
def __init__(self, name):
self.name = name
def Thing_representer(dumper, data):
return dumper.represent_mapping('!Thing', data.__dict__)
yaml.SafeDumper.add_representer(Thing, Thing_representer)
safe_dump = yaml.safe_dump(t)
print safe_dump
它工作得很好,但我不知道如何做构造器?在
^{pr2}$它抛出异常TypeError: __init__() takes exactly 2 arguments (1 given)
,并且应该抛出,因为构造函数需要参数。也许还有另一种方法可以构造跳过对象的构造函数?在
如果不提交名称,则无法构造
Thing()
。你能解决的 在很多方面,但是下面的方法应该有效。在您可以简化name参数的设置,但是这样,如果Thing需要更多的参数,它就更具可扩展性。在
相关问题 更多 >
编程相关推荐