Python高级序列化
项目描述
Camel是一个库,允许您描述如何将对象序列化为YAML — 如果不这样做,则拒绝序列化。
快速示例
from camel import Camel, CamelRegistry
class DieRoll(tuple):
def __new__(cls, a, b):
return tuple.__new__(cls, [a, b])
def __repr__(self):
return "DieRoll(%s,%s)" % self
reg = CamelRegistry()
@reg.dumper(DieRoll, u'roll', version=None)
def _dump_dice(data):
return u"{}d{}".format(*data)
@reg.loader(u'roll', version=None)
def _load_dice(data, version):
a, _, b = data.partition(u'd')
return DieRoll(int(a), int(b))
value = DieRoll(3, 6)
camel = Camel([reg])
print(camel.dump(value))
# !roll 3d6
# ...
项目详情
下载文件
下载适合您平台文件的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
camel-0.1.2.tar.gz (8.0 kB 查看哈希值)
构建分发
camel-0.1.2-py2.py3-none-any.whl (23.1 kB 查看哈希值)