美文网首页
python3--更加规范的读取配置文件

python3--更加规范的读取配置文件

作者: w_dll | 来源:发表于2021-04-25 22:09 被阅读0次

    将python读取配置文件规范了, 以后可以直接拷贝这个函数,
    不用再写了;


    import yaml
    import os, sys
    import argparse
    from lib.mytool import MySqlTools
    
    class GetMyCfg:
      def __init__(self, file_name):
        os.chdir(sys.path[0])
        try:
          cfg_file = open(file_name, 'r', encoding='utf-8')
        except Exception:
          print('file %s not found!' % file_name)
          return
        else:
          self.cfg_data = yaml.load(cfg_file, Loader=yaml.FullLoader)
          cfg_file.close()
      def get(self, tag):
        return self.cfg_data.get(tag, None)
    
    def read_cfg(default_cfg):
      parser = argparse.ArgumentParser()
      parser.add_argument('-f', '--file', help='config file', type=str, default=None)
      args = parser.parse_args()
      file_name = args.file
      if not file_name:
        file_name = default_cfg
      if os.path.isfile(file_name):
        return file_name
      else:
        return None
    
    if __name__ == '__main__':
      default_cfg     = 'cfg.yml'
      config_file     = read_cfg(default_cfg)
      my_cfg          = GetMyCfg(config_file)
      mysql_cfg       = my_cfg.get('mysql')
      mysql_cfg['db'] = 'easyops'
      mysql_conn      = MySqlTools('mysql', **mysql_cfg)
      res             = mysql_conn.select('select * from app_info order by id desc limit 10;')
      print(res)
      print(type(res))
      mysql_conn.close()
    

    相关文章

      网友评论

          本文标题:python3--更加规范的读取配置文件

          本文链接:https://www.haomeiwen.com/subject/ikbjrltx.html