我的问题很简单。我有一个自定义订单的 OrderredDict 对象,我想将它转换为 yaml 格式。但似乎 yaml.dump 无法将 Orderredict 作为输入。有人知道怎么做吗?
最佳答案
看起来你想要this solution ,它向 YAML 添加了一个“代表”。
假设您有一个对象 my_object
,它由嵌套列表、字典和/或 OrderedDicts 组成……如果您添加以下行,您可以将其转储到 YAML:
yaml.add_representer(OrderedDict, lambda dumper, data: dumper.represent_mapping('tag:yaml.org,2002:map', data.items()))
output = yaml.dump(my_object)
我还发现有必要将我的元组转换为列表:
yaml.add_representer(tuple, lambda dumper, data: dumper.represent_sequence('tag:yaml.org,2002:seq', data))
关于python - 如何使用 OrderedDict 作为 yaml.dump 或 yaml.safe_dump 的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42518067/