Сценарий блокировки домена 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 и записывать записи в файл, так как у меня есть сотни доменов для добавления:)