import yamlclass folded_unipre(unipre): passclass literal_unipre(unipre): passdef folded_unipre_representer(dumper, data): return dumper.represent_scalar(u'tag:yaml.org,2002:str', data, style='>')def literal_unipre_representer(dumper, data): return dumper.represent_scalar(u'tag:yaml.org,2002:str', data, style='|')yaml.add_representer(folded_unipre, folded_unipre_representer)yaml.add_representer(literal_unipre, literal_unipre_representer)data = { 'literal':literal_unipre( u'by hjw ___n' ' __ /.-.\n' ' / )_____________\\ Yn' ' /_ /=== == === === =\ _\_n' '( /)=== == === === == Y \n' ' `-------------------( o )n' '\___/n'), 'folded': folded_unipre( u'It removes all ordinary curses from all equipped items. ' 'Heavy or permanent curses are unaffected.n')}print yaml.dump(data)结果:
folded: > It removes all ordinary curses from all equipped items. Heavy or permanent curses are unaffected.literal: | by hjw ___ __ /.-. / )_____________\ Y /_ /=== == === === = __ ( /)=== == === === == Y `-------------------( o ) ___/
为了完整起见,还应该有str实现,但是我会很懒惰:-)



