def to_yaml(self):
"""
Pretty print dump as YAML.
"""
return dump(
self.to_safe_dict(),
# show every document in its own block
default_flow_style=False,
# start a new document (via "---") before every resource
explicit_start=True,
# follow (modern) PEP8 max line length and indent
width=99,
indent=4,
Dumper=SafeDumper,
)
python类CSafeDumper()的实例源码
def dump(data, stream=None):
class Dumper(yaml.CSafeDumper):
pass
def representer(dumper, data):
return dumper.represent_dict(data.iteritems())
Dumper.add_representer(OrderedDict, representer)
return yaml.dump(data, stream, Dumper=Dumper, encoding='utf-8', default_flow_style=False, allow_unicode=True)