Python--yaml+ini配置读取

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Date  : 2021/11/30
# @Name  : ZhouZongXin

"""
重写ini源码,以及ini,yml读取封装
"""
import configparser
import os
import yaml


class MyConfigParser(configparser.ConfigParser):
    """
    重写源码optionxform方法,返回正常选项名
    """

    def __init__(self, defaults=None):
        super(MyConfigParser, self).__init__(defaults=None)

    def optionxform(self, optionstr):
        return optionstr


CONF_PATH = os.path.dirname(__file__)
INI_PATH = os.path.join(CONF_PATH, "base_config.ini")
YML_PATH = os.path.join(CONF_PATH, "base_request.yml")


class Read(object):
    """
    加载基础封装模块ini、yaml配置文件
    """

    @staticmethod
    def load_ini(ini_path):
        """
        读取ini文件
        """
        conf_ini = MyConfigParser()
        conf_ini.read(ini_path)
        return conf_ini

    @staticmethod
    def load_yml(yml_path):
        """
        读取yaml文件
        """
        with open(yml_path, encoding="utf-8") as y:
            conf_yml = yaml.safe_load(y)
        return conf_yml


if __name__ == '__main__':
    ini = Read.load_ini(INI_PATH)
    yml = Read.load_yml(YML_PATH)
    print(ini.get("test_url", "url_api"))
    print(yml['uid_t'])

猜你喜欢

转载自blog.csdn.net/zhouzongxin94/article/details/121641946
今日推荐