Комментарии 10
Таблицу можно сохранить в CSV - модуль для csv встроен в python.
Большой минус. Смысла в статье мало, а неправильных решений - много. Я перечислю только часть.
xlrd устарела уже много лет назад, о чем пишут даже они сами в своих доках. Есть openpyxl, который может нормально работать с xlsx-файлами.
Смысла использовать именно Python в данном случае - немного. Проще было то же самое сделать на VBA в том же самом Excel-файлике. Плюсы - можно хранить на сетевом диске и обновлять всем, а не одному пользователю с правильно настроенным питоном.
pandas - это вообще оверкилл. Она тяжелая сама по себе, да еще и тянет зависимости. Выше верно заметили что даже csv справится.
Вы не знаете Python, но пишете статью с подробным комментированием каждой строчки, что выглядит как "тьюториал". Вот это что за дичь с конкатенацией вообще: f"host {i}" + " {\n\thardware ethernet" + f" {j};"
Ну и вообще, я, хоть и не системный администратор, но предполагаю, что для подобных решений (ведение списка пользователей) есть более специализированные инструменты.
Заклочение: автоматизация - хорошо, самообразование - хорошо, идея поделиться получившимся решением - хорошо. Но сама статья - плохо.
Включить DHCP на клиентский сегмент.
Всем выставить автоматическое получение IP адреса через любимую систему управления конфигурацией.
Понять, что на дворе 2022 год и ходить к хостам по IP, а не по именам не практично.
Статика в сегменте с клиентскими хостами не нужна. Если вы думаете, что нужна, то у вас все сделано не правильно.
Полностью согласен с baldr - Excel позволяет обработать такую таблицу без Питона. Я бы даже VBA не использовал - просто concatenate в соседнем столбце.
Основное преимущество - можно после исправления одной строки сразу ее проапдейтить в конфиге.
В этой статье все плохо, даже не знаю с чего начать:
1) Зачем вы прибиваете ИПы к МАКу? Вы к пользователям ходите? Зачем вы к пользователям ходите? Почему не ходите по именам?
2) Зачем вы храните ФИО в конфиге. Это лишний источник информации, который через определенное время потеряет актуальность, когда Иванов уволится и на его место сядет Петров- в конфиге это править никто не будет;
3) Скрипт не нужен, склеить несколько ячеек можно на чистом Экселе;
4) Как писали выше, можно было перевести в CSV и все стало бы проще;
5) Я не виндоадмин, но что-то мне подсказывает что ваш нужно делать сеть на винде, с контроллерами домена и т.п.
интересно, как быстро вы придете к postgresql/mariadb + веб-морда к ним для редактирования?
Статья из разряда "вредных советов" Остера
Оставляя за скобками вообще бредовость рациональность того, что вы делаете, хотел бы вам помочь советом:
Есть уже готовые решения по учету ip-адерсов в сети. Возьмите хотя бы phpipam - там у вас все будет из коробки, с нормальным api, web-интерфейсом и сканером сети.
Для большинства известных dhcp-серверов с очень большой вероятностью есть готовые модули работы с ними - просто погуглите. Если нет - найдите тот, у которого есть. В вашей ситуации это более выгодный вариант.
В итоге вы получите более адекватное решение, которое сможет поддерживать не то только создатель, но и человек, пришедший на его место
Как я создавал файл конфигурации DHCP из таблицы Excel при помощи Python