Имеется INI-файл с вот такой структурой:
...
[AC]
icon=battery-charging
[AC][DPMSControl]
idleTime=3600
[AC][HandleButtonEvents]
lidAction=64
powerButtonAction=8
[Battery]
icon=battery-060
[Battery][DPMSControl]
idleTime=300
[Battery][HandleButtonEvents]
lidAction=64
powerButtonAction=16
[LowBattery]
icon=battery-low
[LowBattery][BrightnessControl]
value=30
[LowBattery][HandleButtonEvents]
lidAction=64
powerButtonAction=16
...
Здесь видно, что HandleButtonEvents - это «субсекция», а основная секция задается перед субсекцией в той же строке. Не знаю, является ли это стандартом для INI-файлов или нет, не я этот файл создавал.
Задача - поменять значения powerButtonAction в различных субсукциях.
Пробовал достучаться до нужного значения так (хотя бы считать):
import ConfigParser
config=ConfigParser.ConfigParser()
config.read('$fileName')
print( config.get('AC][HandleButtonEvents', 'powerButtonAction' ) )
Но возникает ошибка:
"Traceback (most recent call last):",
" File \"<stdin>\", line 5, in <module>",
" File \"/usr/lib/python2.7/ConfigParser.py\", line 607, in get",
" raise NoSectionError(section)",
"ConfigParser.NoSectionError: No section: 'AC][HandleButtonEvents'"
Вопрос: как работать с такими файлами?
UPD: При необходимости могу поставить Python 3.5.3, если это будет нужно для решения.