首先安装PyYAML:
pip install PyYAML
然后你需要自定义tag,代码如下
import yaml
class HaHa(yaml.YAMLObject):
yaml_tag = '!haha'
def __init__(self, note):
self.note = note
def __repr__(self):
return "%s(note=%r)" % (self.__class__.__name__, self.note)
class Description(yaml.YAMLObject):
yaml_tag = '!description'
def __init__(self, age, home):
self.age = age
self.home = home
def __repr__(self):
return "%s(age=%r, home=%r)" % (
self.__class__.__name__, self.age, self.home)
获取home的值:
if __name__ == '__main__':
with open('test.yaml', 'r') as f:
yaml_data = yaml.load(f)
print(yaml_data)
print(yaml_data.get('massage').home)
输出:
{'name': 'MyName !!', 'name2': HaHa(note='name2'), 'massage': Description(age=18, home=['SH', 'BJ', 'GZ'])}
['SH', 'BJ', 'GZ']
test.yaml是你上面贴出来的数据