def ordered_dump(data, stream=None, dumper_class=yaml.Dumper, default_flow_style=False, **kwds):
indent = 4
line_break = '\n'
# pylint: disable=too-many-ancestors
class OrderedDumper(dumper_class):
pass
def _dict_representer(dumper, data):
return dumper.represent_mapping(
yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG,
data.items())
OrderedDumper.add_representer(OrderedDict, _dict_representer)
kwds.update({'default_flow_style': default_flow_style, 'indent': indent, 'line_break': line_break})
# WARN: if stream is provided, return value is None
return yaml.dump(data, stream, OrderedDumper, **kwds)
评论列表
文章目录