获取yaml配置文件内容
import yaml
from pprint import pprint, pformat
'''
def read_yaml():
with open("config.yaml",encoding='utf-8') as f:
config = yaml.load(f.read(),Loader=yaml.FullLoader)
epoch=config['epoch']
lr = config['learn_rate']
path = config['train_path']
return epoch, lr, path
epoch , lr ,path = read_yaml()
print(epoch, lr, path)
'''
class Config:
"""
Configuration namespace. Convert dictionary to members.
"""
def __init__(self, cfg_dict):
for k, v in cfg_dict.items():
if isinstance(v, (list, tuple)):
setattr(self, k, [Config(x) if isinstance(x, dict) else x for x in v])
else:
setattr(self, k, Config(v) if isinstance(v, dict) else v)
def __str__(self):
return pformat(self.__dict__)
def __repr__(self):
return self.__str__()
def get_config():
yaml_path = "config.yaml"
with open(yaml_path, 'r') as f:
cfgs = yaml.load(f.read(),Loader=yaml.FullLoader)
config=Config(cfgs)
return config
config = get_config()