iniconfig 是一个小型简单的 INI 文件解析模块,具有独特的功能集:
- 维护节和条目的顺序
- 支持带或不带行继续符的多行值
- 支持所有位置的 "#" 注释
- 以正确的行号引发错误
- 没有自动替换等附加功能
- 如果两个节名称相同,iniconfig 会引发一个 Error。
如果您遇到问题或有功能建议,请向以下地址报告:
https://github.com/RonnyPfannschmidt/iniconfig/issues
如果您有一个像这样的 ini 文件:
# example.ini 的内容
[section1] # 注释
name1=value1 # 注释
name1b=value1,value2 # 注释
[section2]
name2=
line1
line2那么您可以这样做:
>>> import iniconfig
>>> ini = iniconfig.IniConfig("example.ini")
>>> ini['section1']['name1'] # 如果不存在则引发 KeyError
'value1'
>>> ini.get('section1', 'name1b', [], lambda x: x.split(","))
['value1', 'value2']
>>> ini.get('section1', 'notexist', [], lambda x: x.split(","))
[]
>>> [x.name for x in list(ini)]
['section1', 'section2']
>>> list(list(ini)[0].items())
[('name1', 'value1'), ('name1b', 'value1,value2')]
>>> 'section1' in ini
True
>>> 'inexistendsection' in ini
False