В прошлой статьей мы научились читать файлы и записывать в них. Теперь, на основе этих знаний, начнём реализовывать автоконфигуратор для серверов Nginx, Apache на Python.
В прошлой статье, я делил содержимое файл на массив из двух элементов (на то что идет до переменной и после) и необходимые данные вставлял между ними, но этот способ не подойдёт для более сложных задач.
Для примера я создал простейший конфиг для nginx:
server{
listen 80;
server_name %domain%;
root /var/www/%domain%;
}
Где %domain% - переменная которую будем заменять.
Как всегда, откроем файл, запишем содержимое в переменную и закроем его:
f = open('nginx.txt', 'r')
data = f.read()
f.close()
Получим необходимые данные от пользователя и запишем их в переменную:
input = input('Введите домен сайта: ')
Далее заменим переменную на полученные данные. Для этого воспользуемся функцией replace
data = data.replace('%domain%', input)
Думаю тут все просто. Запишем в переменную изменённые данные. В функции первый аргумент - это переменная которую необходимо заменить, а второй аргумент - текст для замены.
Далее создаём файл, запишем в него данные и закроем:
new_file = open(input+'.conf', 'w')
new_file.write(data)
new_file.close()
Демонстрация:
В следующей статьей мы сделаем конфигуратор наш более гибким, дадим возможность выбора: Nginx или Apache.
Спасибо за внимание!
Материал подготовлен автором @zheev
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
litrbooh, neo, mir, midnight, ruslandis, tasha, tristamoff, vadbars, rusalka, amikphoto, kotik, olga-olga, semasping, cergey-p, ladyzarulem, arystarch, oksana0407, lenutsa, vpervye1, yurchello, amelina.elena, lushaya, soroka, hellen-g, kertar, dim447, ifingramota, oksi-m, liseykina, zhenek, magformers, zir0chka, kanalex, kr-alexey, katarinka, katherina, andrzhej, brainmechanic, anandasurya, borgerry
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас: