跳转到主要内容

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
# ...

文档:http://camel.readthedocs.org/en/latest/

GitHub:https://github.com/eevee/camel

项目详情


下载文件

下载适合您平台文件的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

camel-0.1.2.tar.gz (8.0 kB 查看哈希值)

上传时间:

构建分发

camel-0.1.2-py2.py3-none-any.whl (23.1 kB 查看哈希值)

上传时间: Python 2 Python 3

由以下支持