【发布时间】:2019-12-08 08:29:35
【问题描述】:
我正在尝试使用ruamel.yaml 序列化和反序列化包含 lambda 表达式的对象。如示例中所示,这会产生ConstructorError。如何做到这一点?
import sys
import ruamel.yaml
yaml = ruamel.yaml.YAML(typ='unsafe')
yaml.allow_unicode = True
yaml.default_flow_style = False
foo = lambda x: x * 2
yaml.dump({'foo': foo}, sys.stdout)
# foo: !!python/name:__main__.%3Clambda%3E
yaml.load('foo: !!python/name:__main__.%3Clambda%3E')
# ConstructorError: while constructing a Python object
# cannot find '<lambda>' in the module '__main__'
# in "<unicode string>", line 1, column 6
【问题讨论】:
标签: python-3.x serialization lambda yaml ruamel.yaml