#python #battery #psutil
#python #батарея #psutil
Вопрос:
Поэтому я пытаюсь получать оперативную информацию о состоянии заряда батареи, то есть подключен ли ноутбук к сети и заряжается ли он или работает от аккумулятора. Я использую библиотеку psutil в python для извлечения необходимых данных, но данные, которые я получаю обратно, ограничены однократным извлечением, то есть они не обновляются во время запуска программы.
import psutil
import keyboard
battery = psutil.sensors_battery()
print("Starting Program...")
while True:
status = battery.power_plugged
print(status)
if keyboard.is_pressed("q"):
break
elif(status == True):
print("Charging...")
elif(status == False):
print("Discharging...")
print("Closing Program...")
Здесь я получаю либо только «true» и «Charging …», либо «false» и «Discharging …» независимо от изменения статуса. Итак, как я могу обойти это, любое предложение было бы полезно.
Ответ №1:
Вам необходимо получить обновленный статус while
следующим образом:
import psutil
import keyboard
import time
print("Starting Program...")
while True:
battery = psutil.sensors_battery()
status = battery.power_plugged
print(status)
if keyboard.is_pressed("q"):
break
elif(status == True):
print("Charging...")
elif(status == False):
print("Discharging...")
time.sleep(1)
print("Closing Program...")
Комментарии:
1. Потрясающе @BhaweshVerma, пожалуйста, подумайте о принятии ответа, чтобы отметить вопрос как решенный.
2. Конечно, я так и сделаю, мне нужно подождать около 10 минут, прежде чем я смогу принять ответ. Еще раз спасибо.