安装:
pip install pyyaml
在yaml.load方法中,’loader’参数有四种:
BaseLoader:载入大部分的基础YAML
SafeLoader:载入YAML的子集,推荐在不可信的输入时使用
FullLoader:这是默认的载入方式,载入全部YAML
UnsafeLoader:老版本的载入方式
yaml文件的读写:
yaml_dict = {
"user":"general",
"country":"China",
"gender":"male",
"address":"北京"
}
with open (os.path.join(yaml_dir,file_name),'w',encoding='utf-8') as f:
yaml.dump(yaml_dict,f)
尽管在写文件时指定了编码为utf-8,但查看文件内容时中文还是不能正常显示。但是不影响读取。
with open (yaml_file,'r',encoding='utf-8') as f:
yaml_dict = yaml.load(f,Loader=yaml.FullLoader)
print(yaml_dict["user"])
print(yaml_dict["address"])
在实际使用的时候可以配合,输入参数更新配置文件中的参数使用:
def merge_config(config,args):
for key_1 in config.keys():
if(isinstance(config[key_1],dict)):
for key_2 in config[key_1].keys():
if(key_2) in dir(args):
config[key_1][key_2] = getattr(args,key_2)
return config
config = yaml.load(open(args.config, 'r', encoding='utf-8'),Loader=yaml.FullLoader)
config = merge_config(config,args)
851

被折叠的 条评论
为什么被折叠?



