yaml使用示例

root
abc abc
  • 12 Jul

import yaml
class Monster(yaml.YAMLObject):
yaml_tag = u'!Monster'

def init(self, name, hp, ac, attacks):
self.name = name
self.hp = hp
self.ac = ac
self.attacks = attacks

def repr(self):
return "%s(name=%r, hp=%r, ac=%r, attacks=%r)" % (
self.class.name, self.name, self.hp, self.ac,
self.attacks)

data = yaml.safe_load(yaml_str) # 安全加载方式

yaml.load("""
--- !Monster
name: Cave spider
hp: [2,6] # 2d6
ac: 16
attacks: [BITE, HURT]
""",Loader=yaml.FullLoader)

Monster(name='Cave spider', hp=[2, 6], ac=16, attacks=['BITE', 'HURT'])

print(
yaml.dump(Monster(
name='Cave lizard', hp=[3, 6], ac=16, attacks=['BITE', 'HURT'])))

输出

""""
!Monster
ac: 16
attacks: [BITE, HURT]
hp: [3, 6]
name: Cave
"""