The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Как в Python 2.7.13 изменить INI-файл с субсекциями?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Python)
Изначальное сообщение [ Отслеживать ]

"Как в Python 2.7.13 изменить INI-файл с субсекциями?"  +/
Сообщение от xintrea (??), 22-Янв-21, 10:32 
Имеется 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, если это будет нужно для решения.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от AnonymPatient (?), 22-Янв-21, 11:47   +/
> Имеется INI-файл с вот такой структурой:
>

[AC]
[AC][DPMSControl]
[AC][HandleButtonEvents]
в чем проблема построить дерево, учитывая тараканы разработчиков источникa/вeндорa/.. ?
AC
AC.DPMSControl
AC.HandleButtonEvents

> ...
> Вопрос: как работать с такими файлами?

Просто вручную - домалевать свой парсер на том же питоне.


> UPD: При необходимости могу поставить Python 3.5.3, если это будет нужно для
> решения.

Tensorflow и прочий ИИ/ML здесь не поможет

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2

2. Сообщение от xintrea (ok), 22-Янв-21, 12:46   +/
> Просто вручную - домалевать свой парсер на том же питоне.

Проблема в том, что я с питоном не дружу.

Может быть, можно по-быстрому решить проблему через SED:

Как в SED обработать диапазон строк? https://www.opennet.ru/openforum/vsluhforumID9/10348.html

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #3

3. Сообщение от AnonymPatient (?), 22-Янв-21, 13:47   +/
>> Просто вручную - домалевать свой парсер на том же питоне.
> Проблема в том, что я с питоном не дружу.

Проблема не в питоне/shelle/etc, а в не достатке базовых знаний.
INI файл, это не(всегда) плоский набор данных.
Ближайшая аналогия - фаловая система(она древовидная)

[AC] - это каталог
и это каталог
[AC][HandleButtonEvents]

перевод
>[ac]
>icon=battery-charging

в катаологе [ac](пусть будет корневой)
лежит файл с именем картинки(из какого-то storage,предопределенного набора картинок,etc.)

> Может быть, можно по-быстрому решить проблему через SED:
> Как в SED обработать диапазон строк? https://www.opennet.ru/openforum/vsluhforumID9/10348.html

поаккарутней с просьбами, а то могут и с oднострочником на шеле/perle/..  помочь

P.S.:
пишется "в рукопашную" на питоне/shelle/etc уилитy чтения, разбора в память - построите виртуальную файловую систему, а там  до записи один шаг - вся мозаика и сложится

следующий ini формат - прощелкается как семечки

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #4

4. Сообщение от xintrea (ok), 22-Янв-21, 15:16   +/
> Проблема не в питоне/shelle/etc, а в не достатке базовых знаний.

Проблема не в недостатке (пишется слитно) базовых знаний, а в отсутствии времени.


> поаккарутней с просьбами, а то могут и с oднострочником на шеле/perle/..  помочь

С такими помощниками я лучше сам себе помогу.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #5

5. Сообщение от Аноним (5), 22-Янв-21, 21:31   +/
>> Проблема не в питоне/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ть


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #6

6. Сообщение от xintrea (ok), 25-Янв-21, 09:42   +/
>> С такими помощниками я лучше сам себе помогу.
> Ваше не зн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? Нед, нед, все равно вы не знаете! Ну пасиму, пасиму вы так жистоке? Пачиму вы ломаити мой прикрасный внутренней мир? Я так хотело унизить чилавека, а вы мне в рожу фактами тыкаете! Эта нечестна! Я так долга тебя искало, ну того, к кому можна докопаться! Я па тыртырнету шарюсь, я анонимо прикидываюсь, патаму что ссусь. Я трачу время чтобы усем рассказато что в интернетах кто-то неправ, а у вас никакога сачуствия. Воуоуо, пачему луди так жистоке ка мне? Вы черствый чилавек, падлец и негодяй!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру