Доброго времени суток Уважаемые кодеры,
Я только начинаю свой путь в познании этого языка, ну и как все новички решил взяться сразу за свою идею. Помаленьку продвигаюсь но утром проснувшись понял что сделал ошибку. Начал искать решение но не нашел (( Сорри за лирическое отступление ....
Суть вопроса:
Есть консольная программка на Python3 :
которая должна
пинговать (не реализованно) заданные пользователем в config.ini сетевые узлы (камеры) и выводить их доступность (UP / DOWN) в консоли. Если пользователь ввел 100 секций по заданному шаблону в конфиге а в программе прописанно все 10 то как быть? Как проверить и запустить программу в соответствии с количеством секций? Может как то можно не писать их в коде Python по отдельности?
config.ini
[cam1]
pos=1
name=cam1
area=1-st floor
ip=10.0.1.23
mac=00:1A:C2:7B:00:47
[cam2]
pos=2
name=cam2
area=2-nd floor
ip=10.0.1.24
mac=00:4A:C2:7B:10:42
[cam3]
pos=3
name=cam3
area=3-rd floor
ip=10.0.1.25
mac=00:43:C2:7B:F0:13
Написал 3 секции для примера. В моем конфиге их на данный момент 9 секций.
И сама программка:
import os
import sys
import configparser # импортируем библиотеку для чтения INI файлов
import colorama # импортируем библиотеку для добавления цвета
from colorama import Fore, Back, Style
colorama.init()
config = configparser.ConfigParser() # создаём объекта парсера
config.read("config.ini") # читаем конфиг
print()
print(Fore.YELLOW + 'IP CCTV monitoring system')
print(Style.RESET_ALL)
# 1-ая строчка мониторинга
cam1a = config["cam1"]["pos"]
cam1b = config["cam1"]["name"]
cam1c = config["cam1"]["area"]
cam1d = config["cam1"]["ip"]
cam1e = config["cam1"]["mac"]
cam1f = True
cam1g = "16:25"
# 2-ая строчка мониторинга
cam2a = config["cam2"]["pos"]
cam2b = config["cam2"]["name"]
cam2c = config["cam2"]["area"]
cam2d = config["cam2"]["ip"]
cam2e = config["cam2"]["mac"]
cam2f = True
cam2g = "16:25"
# 3-ья строчка мониторинга
cam3a = config["cam3"]["pos"]
cam3b = config["cam3"]["name"]
cam3c = config["cam3"]["area"]
cam3d = config["cam3"]["ip"]
cam3e = config["cam3"]["mac"]
cam3f = False
cam3g = "16:25"
# 4-ая строчка мониторинга
cam4a = config["cam4"]["pos"]
cam4b = config["cam4"]["name"]
cam4c = config["cam4"]["area"]
cam4d = config["cam4"]["ip"]
cam4e = config["cam4"]["mac"]
cam4f = True
cam4g = "16:25"
# 5-ая строчка мониторинга
cam5a = config["cam5"]["pos"]
cam5b = config["cam5"]["name"]
cam5c = config["cam5"]["area"]
cam5d = config["cam5"]["ip"]
cam5e = config["cam5"]["mac"]
cam5f = True
cam5g = "16:25"
# 6-ая строчка мониторинга
cam6a = config["cam6"]["pos"]
cam6b = config["cam6"]["name"]
cam6c = config["cam6"]["area"]
cam6d = config["cam6"]["ip"]
cam6e = config["cam6"]["mac"]
cam6f = True
cam6g = "16:25"
# 7-ая строчка мониторинга
cam7a = config["cam7"]["pos"]
cam7b = config["cam7"]["name"]
cam7c = config["cam7"]["area"]
cam7d = config["cam7"]["ip"]
cam7e = config["cam7"]["mac"]
cam7f = True
cam7g = "16:25"
# 8-ая строчка мониторинга
cam8a = config["cam8"]["pos"]
cam8b = config["cam8"]["name"]
cam8c = config["cam8"]["area"]
cam8d = config["cam8"]["ip"]
cam8e = config["cam8"]["mac"]
cam8f = True
cam8g = "16:25"
# 9-ая строчка мониторинга
cam9a = config["cam9"]["pos"]
cam9b = config["cam9"]["name"]
cam9c = config["cam9"]["area"]
cam9d = config["cam9"]["ip"]
cam9e = config["cam9"]["mac"]
cam9f = True
cam9g = "16:25"
# Условие проверки статуса первой строчки
if cam1f:
cam1f = "\033[37m\033[42m{}\033[0m".format(' UP ')
elif cam1f == False:
cam1f = "\033[37m\033[41m{}\033[0m".format('DOWN')
print(cam1a, cam1b, cam1c, cam1d, cam1e, cam1f, cam1g, sep=" | ")
# Условие проверки статуса второй строчки
if cam2f:
cam2f = "\033[37m\033[42m{}\033[0m".format(' UP ')
elif cam2f == False:
cam2f = "\033[37m\033[41m{}\033[0m".format('DOWN')
print(cam2a, cam2b, cam2c, cam2d, cam2e, cam2f, cam2g, sep=" | ")
# Условие проверки статуса третьей строчки
if cam3f == True:
cam3f = "\033[37m\033[42m{}\033[0m".format(' UP ')
elif cam3f == False:
cam3f = "\033[37m\033[41m{}\033[0m".format('DOWN')
print(cam3a, cam3b, cam3c, cam3d, cam3e, cam3f, cam3g, sep=" | ")
# Условие проверки статуса четвертой строчки
if cam4f:
cam4f = "\033[4m\033[37m\033[42m{}\033[0m".format(' UP ')
elif cam4f == False:
cam4f = "\033[4m\033[37m\033[41m{}\033[0m".format('DOWN')
print(cam4a, cam4b, cam4c, cam4d, cam4e, cam4f, cam4g, sep=" | ")
# Условие проверки статуса пятой строчки
if cam5f:
cam5f = "\033[4m\033[37m\033[42m{}\033[0m".format(' UP ')
elif cam5f == False:
cam5f = "\033[4m\033[37m\033[41m{}\033[0m".format('DOWN')
print(cam5a, cam5b, cam5c, cam5d, cam5e, cam5f, cam5g, sep=" | ")
# Условие проверки статуса шестой строчки
if cam6f:
cam6f = "\033[4m\033[37m\033[42m{}\033[0m".format(' UP ')
elif cam6f == False:
cam6f = "\033[4m\033[37m\033[41m{}\033[0m".format('DOWN')
print(cam6a, cam6b, cam6c, cam6d, cam6e, cam6f, cam6g, sep=" | ")
# Условие проверки статуса седьмой строчки
if cam7f:
cam7f = "\033[4m\033[37m\033[42m{}\033[0m".format(' UP ')
elif cam7f == False:
cam7f = "\033[4m\033[37m\033[41m{}\033[0m".format('DOWN')
print(cam7a, cam7b, cam7c, cam7d, cam7e, cam7f, cam7g, sep=" | ")
# Условие проверки статуса восьмой строчки
if cam8f:
cam8f = "\033[4m\033[37m\033[42m{}\033[0m".format(' UP ')
elif cam8f == False:
cam8f = "\033[4m\033[37m\033[41m{}\033[0m".format('DOWN')
print(cam8a, cam8b, cam8c, cam8d, cam8e, cam8f, cam8g, sep=" | ")
# Условие проверки статуса девятой строчки
if cam9f:
cam9f = "\033[4m\033[37m\033[42m{}\033[0m".format(' UP ')
elif cam9f == False:
cam9f = "\033[4m\033[37m\033[41m{}\033[0m".format('DOWN')
print(cam9a, cam9b, cam9c, cam9d, cam9e, cam9f, cam9g, sep=" | ")
input() # Работа программы до нажатия какой либо клавиши