Нужна помощь в комментировании программы парсинга конфига.

Crystal Rylai

Новичок
Пользователь
Май 9, 2020
2
0
1
Буду очень благодарна за помощь


Код:
data = {}

with open('conf') as f:
    for line in f:
        line = line.strip('\n')
        if line.startswith('#') or line.startswith(';'):
            continue
        elif ' ' in line:
            key, value = line.split(' ', 1)
            data[key] = value
        else:
            data[line] = None


while True:
    line = input()
    if line.startswith('get param '):
        key = line[10:]
        try:
            print(key, ':', data[key] or '(данные отсутствуют)')
        except KeyError:
            print('Ключ отсутствует')

        print('Продолжить? (Да/Нет)')
        should_continue = input().lower()
        if should_continue == 'да':
            continue
        elif should_continue == 'нет':
            print('Осуществляется выход из программы')
            break
        else:
            print('(Да/Нет)')
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 000
453
83
Скрипт открывает файл ''conf', проходит в цикле по каждой строке, если она начинается с # или ; то пропускает строку, если в строке есть пробел - то записывает в словарь data ключ - часть строки до пробела, значение - часть строки после пробела, если в строке нет пробела - записывает в словарь data ключ - вся строка, значение None.
Дальше в бесконечном цикле просит пользователя ввести строку и если она начинается с ''get param', берет в качестве ключа первые 10 символов строки и пытается получить значение по этому ключу из словаря data, если такого ключа нет - выведет 'Ключ отсутствует'. Дальше спрашивает у пользователя 'Продолжить? (Да/Нет) ' и в зависимости от ответа либо начинает цикл заново либо завершается.
 

Форум IT Специалистов