添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
朝气蓬勃的饼干  ·  How to format tls ...·  2 周前    · 
近视的眼镜  ·  java ...·  2 周前    · 
酷酷的茶叶  ·  JavaScript Errors ...·  5 月前    · 
狂野的啤酒  ·  Amazon·  6 月前    · 
class YamlUtils(): def __init__ (self,folder_name= ' config ' ): self.foler_name = folder_name def get_yaml_load(self, file_name): yaml_filename = self. __get_yaml_file (file_name) f = open(yaml_filename, encoding= ' utf-8 ' ) yaml_load = yaml.full_load(f) return yaml_load

def __get_yaml_file (self, file_name): :param file_name: the filename of the configfile :return: the objection of the config try : yaml_file = self. __get_file_path (self.foler_name, file_name) return yaml_file except Exception as e: print ( " read config file error: " + str(e)) @staticmethod def __get_file_path (folder_name, file_name): :param folder_name: the directory of the config ,the default directory is config :param file_name: the filename of the configfile :return: the objection of the config try : config_path = os.path.abspath( ' .. ' ) folder_path = os.path.join(config_path, folder_name) file_path = os.path.join(folder_path, file_name) return file_path except Exception as e: print ( ' read config file failed ' + str(e)) def set_yaml(self, file_name,content): 调用此方法时,需新建一个YamlUtils().set_yaml(file_name,content) 用原来的设置不会生效 default_flow_style=False : 表示dump后的字典数据全部以yml格式显示,默认为为True sort_keys=False : 表示dump后的字典数据按原有的顺序示,为True时按字母的排序展示,默认为为True yaml_filename = self. __get_yaml_file (file_name) f = open(yaml_filename, ' w ' , encoding= ' utf-8 ' ) yaml_dump = yaml.dump(content,f,allow_unicode=True, default_flow_style=False,sort_keys= False) # print("数据更新完成") return yaml_dump

yml文件原有数据顺序:

更改字段值后的顺序:

出现原因是:

yaml.dump(content,f,allow_unicode=True, default_flow_style=False,sort_keys=True)
该行的代码中
sort_keys的默认值为True,改为Flase后可修复代顺序变化的问题