мета-данные страницы
Различия
Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
| lib.py:aw_config:obj [30.10.2024 14:00] – создано awgur | lib.py:aw_config:obj [23.06.2026 12:26] (текущий) – awgur | ||
|---|---|---|---|
| Строка 6: | Строка 6: | ||
| - | ====== Работа с файлом конфигурации ====== | + | ==== get_value() ==== |
| - | + | ||
| - | Конструктор объекта '' | + | |
| - | + | ||
| - | <code python> | + | |
| - | conf_file = ConfigFile('/ | + | |
| - | </ | + | |
| - | + | ||
| - | Далее объект '' | + | |
| - | + | ||
| - | <code python> | + | |
| - | with ConfigFile(config_file) as root_section: | + | |
| - | port = root_section.get_value(' | + | |
| - | </ | + | |
| - | + | ||
| - | Особенно хорошо и лаконично получается при использовании хранилища конфигураций: | + | |
| - | <code python> | + | |
| - | with ConfigFile(config_file) as root_section: | + | |
| - | add_config(NetConfig, | + | |
| - | port=root_section.get_value(' | + | |
| - | baseurl=root_section.get_value(' | + | |
| - | )) | + | |
| - | </ | + | |
| - | + | ||
| - | Иной работы объекты класса '' | + | |
| - | + | ||
| - | + | ||
| - | ===== Работа с параметрами конфигурации ===== | + | |
| - | + | ||
| - | Как известно, | + | |
| - | + | ||
| - | + | ||
| - | ==== get_value | + | |
| Получить значение параметра из файла. | Получить значение параметра из файла. | ||
| <code python> | <code python> | ||
| - | get_value(name, | + | obj.get_value(name, |
| </ | </ | ||
| Строка 59: | Строка 27: | ||
| - | ==== get_section ==== | + | ==== get_section() ==== |
| Погрузиться на уровень ниже по словарю конфигурации. | Погрузиться на уровень ниже по словарю конфигурации. | ||
| Строка 66: | Строка 34: | ||
| < | < | ||
| - | get_section(name, | + | obj.get_section(name, |
| </ | </ | ||
| Строка 83: | Строка 51: | ||
| Можно применить следующий код: | Можно применить следующий код: | ||
| <code python> | <code python> | ||
| - | with ConfigFile(config_file) as root_section: | + | with ConfigFile('/ |
| with root_section.get_section(' | with root_section.get_section(' | ||
| + | param1 = section_section.get_value(' | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== get_list_section() ==== | ||
| + | |||
| + | Подобен '' | ||
| + | |||
| + | < | ||
| + | obj.get_list_section(name, | ||
| + | </ | ||
| + | |||
| + | **Возвращает: | ||
| + | |||
| + | ^ Параметр ^ Тип ^ Описание ^ | ||
| + | | '' | ||
| + | | '' | ||
| + | |||
| + | Для работы с секциями можно применять менеджер контекста. Например для файла с содержимым: | ||
| + | <code toml> | ||
| + | [[section]] | ||
| + | param = " | ||
| + | |||
| + | [[section]] | ||
| + | param = " | ||
| + | </ | ||
| + | |||
| + | Можно применить следующий код: | ||
| + | <code python> | ||
| + | with ConfigFile('/ | ||
| + | with root_sectin.get_list_section(' | ||
| + | conf_ar = [] | ||
| + | for el in net_section: | ||
| + | conf_ar.append(dict( | ||
| + | param1 = el.get_value(' | ||
| + | )) | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | ==== get_section_by_path() ==== | ||
| + | |||
| + | Подобен '' | ||
| + | |||
| + | < | ||
| + | obj.get_section_by_path(name, | ||
| + | </ | ||
| + | |||
| + | **Возвращает: | ||
| + | |||
| + | ^ Параметр ^ Тип ^ Описание ^ | ||
| + | | '' | ||
| + | | '' | ||
| + | |||
| + | Для работы с секциями можно применять менеджер контекста. Например для файла с содержимым: | ||
| + | <code toml> | ||
| + | [section.section2] | ||
| + | param1 = " | ||
| + | </ | ||
| + | |||
| + | Можно применить следующий код: | ||
| + | <code python> | ||
| + | with ConfigFile('/ | ||
| + | with root_section.get_section_by_path(' | ||
| param1 = section_section.get_value(' | param1 = section_section.get_value(' | ||
| </ | </ | ||