python之配置文件


配置文件如下(config.ini):
[Base]
# 环境配置
env=Env_QA
# 信息
store=123
# 本地调试模式: 0: 关, 1: 开
debug=1
[Log]
level=DEBUG


# 下面介绍如何获取配置文件
import configparser
import os
from src.lib.exceptions import *


class Config:
"""
获取配置文件参数固定方法
"""
project_path = f'{os.getcwd().split("kbpos-api-autotest")[0]}kbpos-api-autotest'
_config = configparser.ConfigParser()
_config_path = f'{project_path}/config.ini'
_config.read(_config_path, encoding='utf-8')

@classmethod
def get(cls, section, option):
"""
根据Section和Option获取Config文件中的配置信息
"""
try:
return cls._config.get(section, option)

except configparser.NoSectionError:
raise InputValueError(f"Config文件读取传参异常错误, 无此section: {section}")

except configparser.NoOptionError:
raise InputValueError(f"Config文件读取传参异常错误, {section}中无option: {option}")

@classmethod
def get_section(cls, section) -> dict:
"""
获取单个section下所有的配置信息
"""
try:
return dict(cls._config.items(section=section))

except configparser.NoSectionError:
raise InputValueError(f"Config文件读取传参异常错误, 无此section: {section}")

@classmethod
def get_batch(cls, section, *option):
"""
根据Section和*Option批量获取Config文件中的配置信息
"""
try:
return [cls._config.get(section, item) for item in option]

except configparser.NoSectionError:
raise InputValueError(f"Config文件读取传参异常错误, 无此section: {section}")

except configparser.NoOptionError:
raise InputValueError(f"Config文件读取传参异常错误, {section}中无option: {option}")

相关