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

问题描述

因此,我尝试实时更新电池电源状态,即笔记本电脑是否已插入电源并正在充电,或者它是否正在使用电池电源运行。 我在 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...")

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

解决方法

您需要按如下方式在 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...")