configparser是python一个读取配置文件的标准库
[test_section] a = 1 b = 2 c = cat d = dog
section:节,例如上面的test_section
option:节下面的项,例如上面的a b c d
from configparser import ConfigParser config_parser = ConfigParser() config_parser.read(r'D:\python\client.ini') # 获取一个值 config_parser.get('test_section', 'a') # 或者 config_parser['test_section'] ['a']
有时候我们并不确定某节下有什么键值对,但需要提取所有成一个字典
_sections属性是所有节的里的所有键值对,类型为OrderedDict,但这个是带下划线的保护属性,不建议外部使用
config_parser._sections # 所有节的键值对 OrderedDict([('test_section', OrderedDict([('a', '1'), ('b', '2'), ('c', 'cat'), ('d', 'dog')]))]) config_parser._sections.get('test_section') # 某节下的键值对 OrderedDict([('a', '1'), ('b', '2'), ('c', 'cat'), ('d', 'dog')])
# 先获取所有键列表 keys = config_parser.options('test_section') ['a', 'b', 'c', 'd'] #再根据键来获取值 {k: config_parser.get('test_section', k) for k in keys} {'a': '1', 'b': '2', 'c': 'cat', 'd': 'dog'}
config_parser.items('test_section') [('a', '1'), ('b', '2'), ('c', 'cat'), ('d', 'dog')] # 转成字典 dict(config_parser.items('test_section')) {'a': '1', 'b': '2', 'c': 'cat', 'd': 'dog'} # 转成有序字典 from collections import OrderedDict OrderedDict(config_parser.items('test_section')) OrderedDict([('a', '1'), ('b', '2'), ('c', 'cat'), ('d', 'dog')])
有更方便快捷高效的方法欢迎留言!