配置类
[Section1]
Key_AAA = Value
[Section2]
AnotherKey = Value
默认情况下,ConfigParser会将ini配置文件中的KEY,转为小写。

重载后配置类:
- 继承类从configparser.ConfigParser改为configparser.RawConfigParser
- 重载方法optionxform,默认它会将数据转为小写。直接返回不转为小写。
python
class ConfigParser(configparser.RawConfigParser):
def __init__(self):
super().__init__()
self.read(Path(BASE_PATH).joinpath('auto-api-test.ini'), encoding='utf-8')
def optionxform(self, optionstr: str) -> str:
"""
重载此方法,数据不转为小写
默认情况下,这个方法会转换每次 read, get, 或 set 操作的选项名称。
默认会将名称转换为小写形式。
这也意味着当一个配置文件被写入时,所有键都将为小写形式。
:param optionstr:
:return:
"""
return optionstr
历史配置类ConfigParser
:
python
class ConfigParser(configparser.ConfigParser):
def __init__(self):
super().__init__()
self.read(Path(BASE_PATH).joinpath('auto-api-test.ini'), encoding='utf-8')
普通调用RawConfigParser
官方文档:https://docs.python.org/zh-cn/3.6/library/configparser.html#configparser.ConfigParser.optionxform
python
def test_demo6(self):
config = """
[Section1]
Key_AAA = Value
[Section2]
AnotherKey = Value
"""
custom = configparser.RawConfigParser()
custom.optionxform = lambda option: option
custom.read_string(config)
print(custom['Section1'].keys())
# ['Key']
print(custom['Section2'].keys())
# ['AnotherKey']
# 读取key
print(custom.get('Section2', 'AnotherKey'))
