Сценарий блокировки домена python3 DNS

У меня есть основная проблема, которую нужно решить, я новичок в Python и хочу использовать python3, чтобы просто получить ввод от пользователя и вставить его в определенное место в многострочной строке. Я не совсем уверен в том, чтобы достичь определенного места, которое я ищу.

Что у меня так далеко

new_domain = input("Ener domain you would like to block: ")

zone = """zone {} IN {{
            type master;
            file "zones/192.168.1.1.zone";
            allow-transfer { none; };
            allow-query { my-dmz; };
};
""".format(new_domain)

Когда я запускаю код

Error is "KeyError: ' none;'

Нужно ли мне выходить из многострочной строки, чтобы сделать {} допустимым параметром для размещения ввода пользователя?

Как только я получу правильное форматирование вывода, я бы хотел вставить его в несколько доменов, чтобы получить конкретный вывод для каждого домена, в который я вхожу.

Таким образом, желаемый результат будет

Enter domain you would like to block? test123.com

zone "test123.com" IN {{
            type master;
            file "zones/192.168.1.1.zone";
            allow-transfer { none; };
            allow-query { my-dmz; };
};

Заранее спасибо за любую помощь.

1 ответ

Итак, после некоторой помощи из другого места я обнаружил, что приведенный ниже код работает для всех, кто заинтересован

new_domain = input("Ener domain you would like to block: ")

print("""zone "%s" IN {
                type master;
                file "zones/192.168.1.1.zone";
                allow-transfer { none; };
                allow-query { my-dmz; };
};""" % new_domain)

Мне нужно было избегать использования маркеров формата в этом {}, так как мне нужно было бы везде использовать странные escape-символы. Поэтому вместо этого использовалась традиционная опция форматирования%. Кажется, чтобы сделать трюк.

Теперь будем работать над размещением этого в цикле while и записывать записи в файл, так как у меня есть сотни доменов для добавления:)

Другие вопросы по тегам