Чтение плоского (без иерархии) конфига пишется в две строчки:
| Код | """ принимает аргументом путь к файлу, выдаёт словарь комментарии (строки, начинающиеся с символа '#') игнорируются """ def read_options_from_file(file_path): return dict(map(lambda value: value.strip(), line.split('=', 1)) \ for line in open(file_path, "r") if '=' in line and not line.startswith('#'))
print(read_options_from_file("nya.conf"))
|
Пример конфига:
| Код | # это комментарий bar=foo foo = bar = 100500
|
На выходе получаем удобный словарь:
| Код | {'foo': 'bar = 100500', 'bar': 'foo'}
|
Недостаток - если в конфиге есть одинаковые ключи, в итоговый словарь попадёт только последнее значение ключа. |