猿问
在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)
0
0
0
随时随地看视频
慕课网APP
相关分类
Python
我要回答