有些同学对锂电池的概念还停留在十几年前,觉得笔记本电脑充电充满了就必须拔掉电源,否则会损坏电池。
虽然我们已经知道,现代化的笔记本电脑,都有过充保护机制,电源可以一直插在电脑上。但为了满足某些有强迫症的同学,我们来讲讲,如何实现在电脑充满电以后,提醒你拔掉电源。
显然我们不可能一直盯着电脑的电量等着它充满,所以需要想办法在充满电以后自动提醒。这就涉及到两个工作:1. 怎么获取当前电量;2. 怎么提醒我。
第一个问题,我们可以使用Python的一个第三方库,叫做psutil
。用这个库获取当前电量,只需要两行代码:
>>> import psutil
>>> battery = psutil.sensors_battery()
>>> print(battery)
运行效果如下图所示:
其中,percent
表示当前电量的百分比,power_plugged=True
表示当前是插着电源线的。如果没有插电源,这个值就是False。所以,我们可以编写一个函数,来判断当前是不是插着电源并且电量已经充满:
def is_battery_full():
battery = psutil.sensors_battery()
if battery.percent >= 100 and battery.power_plugged:
return True
return False
写一个while True
循环,每分钟检查一次,发现在插着电源的情况下电充满了,就通知我。
那么第二个问题,怎么通知我呢?如果你是macOS电脑,那么非常简单,2行代码就能搞定:
代码语言:javascript复制import os
os.system('say 电充满了!快拔插头!')
运行效果如下图的视频所示:
http://mpvideo.qpic.cn/0bc35yaacaaaciaohm44orqvb3wdahxaaaia.f10002.mp4?dis_k=6802111ba5de8cc4529152f95619d8c1&dis_t=1638356507&vid=wxv_2148815848105476097&format_id=10002&support_redirect=0&mmversion=false
如果你是Windows,可以用下面这段代码:
代码语言:javascript复制import ctypes
ctypes.windll.user32.MessageBoxW(0, "电充满啦!快拔插头!", "警报", 1)
运行效果如下图所示:
当然,充满电就拔电源,这个强迫症不是每个同学都有。但没关系,psutil
还可以检查风扇转速(psutil.sensors_fans()
)、CPU温度(psutil.sensors_temperatures()
)、显卡温度等等数据。如果夏天打游戏,你可以用来监控CPU温度,发现温度过高就立刻提醒你,避免烧坏电脑。