Я начинающий программист (если что!)
я работаю над простым проектом на работе, который проглотит файл конфигурации сетевого коммутатора HP и выложит png-изображение коммутатора с цветными портами, которые соответствуют цвету vlan, связанному с этими портами
В настоящее время у меня это отлично работает в ручном режиме.
Я импортирую пустой файл png переключателя
затем я указываю текущий цвет портов коммутатора для интерфейсов 1 и 2
Затем я указываю цвет VLAN, который я хочу назначить им.
я запускаю команду, которая говорит: «Если какие-либо пиксели в изображении соответствуют цветам x, x, x, то измените их на значение trunkport»
затем выплюнуть этот новый файл изображения с изменением цвета
вот пример:
import cv2
import numpy as np
SwitchImage = cv2.imread("BlankSwitchXX.png",1)
interface1 = [0,0,1]
interface2 = [0,0,2]
trunkport = [0,165,255]
SwitchImage[np.where((SwitchImage == interface1).all(axis = 2))] = trunkport
SwitchImage[np.where((SwitchImage == interface2).all(axis = 2))] = trunkport
cv2.imwrite("SwitchXX.png",SwitchImage)
это работает просто отлично, однако конечная цель - использовать файл конфигурации переключателя для выполнения этих назначений.
эти файлы cfg полны бесполезного текста, но есть одна группа строк, которая им интересна
они выглядят так
trunk 1,2 Trk1 LACP
Я хотел спросить, есть ли способ найти в этом .txt-файле строку «ствол», а затем, если он попадет в ствол, посмотреть на следующие числа, следующие за ним. это видит
1,2
и интерпретирует их так же, как
interface1
interface2
затем присвойте этим переменным значение "trunkport".
Надеюсь, это имеет смысл, пожалуйста, дайте мне знать, если нет. Идея заключается в том, что большое количество коммутаторов будут использовать один и тот же формат конфигурации, и эту программу можно использовать для визуального отображения цветов vlan с использованием только файла cfg.
любая помощь будет очень признательна !!