import copy
import ruamel.yaml
d = ruamel.yaml.round_trip_load("foo: 2016-10-12T12:34:56\n", preserve_quotes=True)
d2 = copy.deepcopy(d)
assert ruamel.yaml.round_trip_dump(d) == "foo: 2016-10-12T12:34:56\n"
assert ruamel.yaml.round_trip_dump(d2) == "foo: 2016-10-12 12:34:56\n"
我有一个需要deepcopy
其参数 dict 的函数,因为它计划对一些嵌套键进行更改。但是当我deepcopy
从 中OrderedDict
返回时ruamel.yaml.round_trip_load
,它会丢失一些显然需要的元数据,以便TimeStamp
正确打印数据类型。
我正在寻找可以传递给它的选项round_trip_dump
以强制它以上述格式(T
而不是空格)打印时间戳,或者在不破坏其元数据的情况下深度复制 ruamel.yaml 返回值的方法。