一组用于各种通用用途的数据序列化器
项目描述
cromlech.marshallers
cromlech.marshallers 提供了在Python对象和其他格式之间转换数据的方法。
目前,cromlech.marshallers 支持
JSON (本地 & RapidJSON)
pickle (本地)
marshal (本地)
msgpack
YAML
BSON
使用第三方库的序列化器使用条件导入。请检查 setup.py extra_requires 以透明地包含它们。
示例
>>> from cromlech.marshallers import JSONMarshaller >>> marshaller = JSONMarshaller() >>> struct = [1, "two", 3] >>> data = marshaller.dumps(struct) >>> assert marshaller.loads(data) == struct
功能
每个序列化器可以处理字符串或字节(根据其二进制性质),流和文件。
>>> marshaller.dumps(struct) >>> marshaller.loads(data) >>> marshaller.dump(struct, stream) >>> marshaller.load(stream)
文件访问由一个锁监控,该锁防止并发。此锁可以配置为包括一个全面的超时。
>>> marshaller.dump_to(struct, path, timeout=2) >>> marshaller.load_from(path, timeout=2)
此外,序列化器可以用作装饰器,以便将函数或方法的结果进行序列化
>>> @marshaller.wraps ... def hello(): ... return 'world'
您可以在此处查看详细用法 这里
变更日志
0.1 (2020-11-27)
首次发布