Я написал небольшой скрипт для отслеживания емкости аккумулятора моего устройства. В основном для изучения Python.
Я решил использовать цикл для распознавания малой емкости. Пока все в порядке, но когда я использую tkinter
messagebox
, окно не исчезает после подтверждения предупреждения.
import os
from time import sleep
import tkinter as tk
from tkinter import *
from tkinter import messagebox
stat = "/sys_vars/status"
plugged = "PLUGGED"
unplugged = "UNPLUGGED"
batfile = "/sys_vars/capa"
root = tk.Tk()
root.withdraw()
def read(sysfile):
with open(sysfile, "r") as f:
return f.read()
def loopcheck():
plug = str(read(stat).strip())
bat = int(read(batfile))
if plug == plugged:
sleep(2)
if plug == unplugged and 6 <= bat <= 15:
messagebox.showwarning("Alert!","Battery Low!\nCharging Required!")
sleep(2)
if plug == unplugged and bat <= 5:
messagebox.showwarning("ALERT!","Battery ULTRA Low!\nCharging Required!")
sleep(2)
if __name__ == "__main__":
messagebox.showinfo("Running!","Battry Status Tracker is now running on machine")
while True:
loopcheck()
Я ожидаю, что я подтверждаю предупреждение, а затем сообщение показывается через количество секунд.
Переменные и короткий таймер сна в этом примере предназначены для тестов.