from configparser import ConfigParser class HandleConfig: """ 封装配置文件 """ def __init__(self, filename): """ 定义变量 :param filename:文件名 """ self.filename = filename self.config = ConfigParser() self.config.read(self.filename, encoding='utf-8') def get_value(self, section, option): """ 定义获取字符串格式数据 :param section: :param option: :return: """ return self.config.get(section, option) def get_int(self, section, option): """ 获取int类型 :param section: :param option: :return: """ return self.config.getint(section, option) def get_float(self, section, option): """ 获取float类型 :param section: :param option: :return: """ return self.config.getfloat(section, option) def get_boolean(self, section, option): """ 获取bool类型 :param section: :param option: :return: """ return self.config.getboolean(section, option) def get_eval_value(self, section, option): """ 获取python内置类型 :param section: :param option: :return: """ return eval(self.get_value(section, option)) @classmethod def write_config(self, datas, filename): """ 写入配置文件 :param datas:配置信息 :param filename:文件名 :return: """ if isinstance(datas, dict): for value in datas.values(): if not isinstance(value, dict): return config = ConfigParser for key in datas: config[key] = datas[key] with open(filename, 'w')as file: config.write(file) if __name__ == '__main__': conf = HandleConfig("configuration.conf") con = conf.get_value("test_path", "fail_result") print(con)