在Python中,如何将YAML映射加载为OrderedDicts?

我想让PyYAML的加载器将映射(和有序映射)加载到Python 2.7+ OrderedDict类型中,而不是dict它当前使用的普通和对列表。


最好的方法是什么?


慕妹3242003
浏览 994回答 3
3回答

HUX布斯

yaml模块允许您指定自定义“代表”以将Python对象转换为文本,并指定“构造函数”以逆转该过程。_mapping_tag = yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAGdef dict_representer(dumper, data):    return dumper.represent_dict(data.iteritems())def dict_constructor(loader, node):    return collections.OrderedDict(loader.construct_pairs(node))yaml.add_representer(collections.OrderedDict, dict_representer)yaml.add_constructor(_mapping_tag, dict_constructor)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python