我正在尝试使用python获取笔记本电脑的电池电量状态,但在获取实时更新的电池状态值时遇到了问题

我正在尝试使用python获取笔记本电脑的电池电量状态,但在获取实时更新的电池状态值时遇到了问题,python,battery,psutil,Python,Battery,Psutil,因此,我试图获得电池电源状态的实时更新,即笔记本电脑是否已插入并正在充电,或者是否使用电池电源运行。 我正在使用python中的psutil库检索所需的数据,但我获取的数据仅限于一次检索,即在程序运行时不进行更新 import psutil import keyboard battery = psutil.sensors_battery() print("Starting Program...") while True: status = battery.pow

因此,我试图获得电池电源状态的实时更新,即笔记本电脑是否已插入并正在充电,或者是否使用电池电源运行。 我正在使用python中的psutil库检索所需的数据,但我获取的数据仅限于一次检索,即在程序运行时不进行更新

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...")


在这里,我要么只得到“真”和“充电…”,要么得到“假”和“放电…”,不管状态如何变化。因此,我如何解决这个问题,任何建议都会很有帮助。

您需要在
中获得更新状态,而
如下所示:

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...")

您需要在
中获得更新状态,而
如下所示:

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...")

谢谢,这是非常完美的工作。BHOHESHVARMA,请考虑接受答案来解决这个问题。当然,我会等10分钟才能接受答案。再次感谢。谢谢,它工作得非常好,请考虑接受这个问题来解决这个问题。当然,我会等10分钟才能接受答案。再次感谢。