Я пытаюсь написать программу ping, которая читает IP-адреса из csv, а затем пингует их и затем отображает в графическом интерфейсе, независимо от того, подключены они или нет.Я застрял в том моменте, что я могу порождать графический интерфейс и создавать ярлыки, но не могу заставить ярлыки обновляться.В идеале я хотел бы, чтобы цвет bg был зеленым, если он подключен к сети, и красным, если он не подключен.
Если я использую не тот инструмент для работы, я открыт для предложений, так как я действительно новичок в этом деле.Спасибо, что нашли время, чтобы предложить любую помощь.Я чувствую, что это так близко к тому, что я хочу, но я бьюсь головой об этом гораздо дольше, чем хочу признаться.
import os
import subprocess as sp
import time
import csv
import tkinter
root = tkinter.Tk()
root.title("Branch Pinger")
with open("hosts4.csv",'r') as csv_file:
addresses = csv.reader(csv_file)
for row in addresses:
label = tkinter.Label(root, text = row[1], relief = tkinter.RIDGE, bg="white", width=10, height=3)
label.pack()
while True:
with open("hosts4.csv",'r') as csv_file:
addresses = csv.reader(csv_file)
for row in addresses:
log = open("{}.csv".format(row[1]) ,"a")
print()
print(time.strftime('%H:%M:%S System Pinging now:',))
status,result = sp.getstatusoutput('ping -c 2 {}'.format(row[0]))
if status == 0:
print(time.strftime(row[1] + " is UP!"))
log.write(time.strftime("%D %H:%M:%S System " + row[1] + " is UP!\n"))
log.close()
root.update_idletasks()
root.update()
else:
print(time.strftime(row[1] + " is --DOWN!--"))
log.write(time.strftime("%D %H:%M:%S System " + row[1] + " is Down!\n"))
log.close()
root.update_idletasks()
root.update()