一日一技:强迫症福音,几行代码提醒我拔掉电源

2021-12-01 19:04:25 浏览数 (1)

有些同学对锂电池的概念还停留在十几年前,觉得笔记本电脑充电充满了就必须拔掉电源,否则会损坏电池。

虽然我们已经知道,现代化的笔记本电脑,都有过充保护机制,电源可以一直插在电脑上。但为了满足某些有强迫症的同学,我们来讲讲,如何实现在电脑充满电以后,提醒你拔掉电源。

显然我们不可能一直盯着电脑的电量等着它充满,所以需要想办法在充满电以后自动提醒。这就涉及到两个工作:1. 怎么获取当前电量;2. 怎么提醒我。

第一个问题,我们可以使用Python的一个第三方库,叫做psutil。用这个库获取当前电量,只需要两行代码:

代码语言:javascript复制
>>> import psutil
>>> battery = psutil.sensors_battery()
>>> print(battery)

运行效果如下图所示:

其中,percent表示当前电量的百分比,power_plugged=True表示当前是插着电源线的。如果没有插电源,这个值就是False。所以,我们可以编写一个函数,来判断当前是不是插着电源并且电量已经充满:

代码语言:javascript复制
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温度,发现温度过高就立刻提醒你,避免烧坏电脑。

0 人点赞