Имеется 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, если это будет нужно для решения.
> Имеется INI-файл с вот такой структурой:
>[AC]
[AC][DPMSControl]
[AC][HandleButtonEvents]
в чем проблема построить дерево, учитывая тараканы разработчиков источникa/вeндорa/.. ?
AC
AC.DPMSControl
AC.HandleButtonEvents> ...
> Вопрос: как работать с такими файлами?Просто вручную - домалевать свой парсер на том же питоне.
> UPD: При необходимости могу поставить Python 3.5.3, если это будет нужно для
> решения.Tensorflow и прочий ИИ/ML здесь не поможет
> Просто вручную - домалевать свой парсер на том же питоне.Проблема в том, что я с питоном не дружу.
Может быть, можно по-быстрому решить проблему через SED:
Как в SED обработать диапазон строк? https://www.opennet.dev/openforum/vsluhforumID9/10348.html
>> Просто вручную - домалевать свой парсер на том же питоне.
> Проблема в том, что я с питоном не дружу.Проблема не в питоне/shelle/etc, а в не достатке базовых знаний.
INI файл, это не(всегда) плоский набор данных.
Ближайшая аналогия - фаловая система(она древовидная)[AC] - это каталог
и это каталог
[AC][HandleButtonEvents]перевод
>[ac]
>icon=battery-chargingв катаологе [ac](пусть будет корневой)
лежит файл с именем картинки(из какого-то storage,предопределенного набора картинок,etc.)> Может быть, можно по-быстрому решить проблему через SED:
> Как в SED обработать диапазон строк? https://www.opennet.dev/openforum/vsluhforumID9/10348.htmlпоаккарутней с просьбами, а то могут и с oднострочником на шеле/perle/.. помочь
P.S.:
пишется "в рукопашную" на питоне/shelle/etc уилитy чтения, разбора в память - построите виртуальную файловую систему, а там до записи один шаг - вся мозаика и сложитсяследующий ini формат - прощелкается как семечки
> Проблема не в питоне/shelle/etc, а в не достатке базовых знаний.Проблема не в недостатке (пишется слитно) базовых знаний, а в отсутствии времени.
> поаккарутней с просьбами, а то могут и с oднострочником на шеле/perle/.. помочьС такими помощниками я лучше сам себе помогу.
>> Проблема не в питоне/shelle/etc, а в не достатке базовых знаний.
> Проблема не в недостатке (пишется слитно) базовых знаний, а в отсутствии времени.Ну-да, ну-да - все как по нотам; стандартная тактика "отмазок" - нaзивиcимыe события
>> поаккарутней с просьбами, а то могут и с oднострочником на шеле/perle/.. помочь
> С такими помощниками я лучше сам себе помогу.Ваше не знaниe и не желание - наоборот уберегли
P.S.:
- у отолapинголoга уже отметились
- на кывт`e - тему(ы) еще откройте
- на gamedev`e не забываем поднять
- ну и на prog.org.ru нe зaбывaeм пoкoлядовaть
>> С такими помощниками я лучше сам себе помогу.
> Ваше не знaниe и не желание - наоборот уберегли
> - у отолapинголoга уже отметились
> - на кывт`e - тему(ы) еще откройте
> - на gamedev`e не забываем поднять
> - ну и на prog.org.ru нe зaбывaeм пoкoлядовaтьНу а что ж ты на гитхаб не зашел, болезный?
https://github.com/xintrea/monitoring-sp
Аноним, 22-Янв-21 (роняя кал, и складывая его к вентилятору): А что там? Сеть, датчики, отправка SMS, работа с БД. Как так на Python? Нед, нед, все равно вы не знаете! Ну пасиму, пасиму вы так жистоке? Пачиму вы ломаити мой прикрасный внутренней мир? Я так хотело унизить чилавека, а вы мне в рожу фактами тыкаете! Эта нечестна! Я так долга тебя искало, ну того, к кому можна докопаться! Я па тыртырнету шарюсь, я анонимо прикидываюсь, патаму что ссусь. Я трачу время чтобы усем рассказато что в интернетах кто-то неправ, а у вас никакога сачуствия. Воуоуо, пачему луди так жистоке ка мне? Вы черствый чилавек, падлец и негодяй!