当前位置:首页>python>网速太慢,用Python写个测速和断网报警脚本,居家办公必备

网速太慢,用Python写个测速和断网报警脚本,居家办公必备

  • 2026-09-02 20:12:20
网速太慢,用Python写个测速和断网报警脚本,居家办公必备

居家办公的时候,最怕网速突然变慢。开会开到一半,视频卡成PPT。老板问话,你这边声音断断续续。更气人的是,网断了你都不知道。等发现的时候,已经错过了重要消息。

我写了个小脚本,专门对付这种破事。它用Python测网速,网一断就报警。不用盯着屏幕看,该干嘛干嘛。

先装两个库。打开命令行,敲这两行:

pip install speedtest-cli
pip install winsound

speedtest-cli用来测速,winsound是Windows自带的,能让电脑发出声音。你要是用Mac或者Linux,换成别的声音库就行。

脚本的逻辑很简单。每5分钟测一次网速。下载速度低于5Mbps,它就认为网太慢。网断了,直接拉警报。脚本会一直跑,直到你手动关掉它。

代码写起来也不复杂。我给你贴出来。复制粘贴就能用。

import speedtest
import winsound
import time
from datetime import datetime

def speed_test():
    try:
        st = speedtest.Speedtest()
        st.get_best_server()
        download_speed = st.download() / 1024 / 1024
        return round(download_speed, 2)
    except:
        return 0

def alarm():
    for i in range(5):
        winsound.Beep(1000, 500)
        time.sleep(0.5)

while True:
    speed = speed_test()
    now = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    if speed == 0:
        print(f'{now} 网断了!!!')
        alarm()
    elif speed < 5:
        print(f'{now} 网速太慢,只有{speed}Mbps')
        alarm()
    else:
        print(f'{now} 网速正常,{speed}Mbps')
    time.sleep(300)

把这段代码保存成.py文件,双击就能跑。它会弹出一个黑框框,里面不断刷新信息。嫌烦的话,可以改成后台运行,不过新手不建议折腾。

测速的时候,脚本会占用一点网络资源。大概十几秒就测完了。你要是正在开会,可以临时关掉它。关掉黑框框就行,下次再开。

有个坑要提醒你。speedtest-cli第一次运行的时候,需要联网下载服务器列表。要是你的电脑极度封闭,连这一步都做不了,那就用别的方案。可以改用socket直接ping百度。不过那样只能测通不通,测不出真实网速。

还有个细节。测速太频繁会被服务商封IP。我设的5分钟一次,够用了。你非要较真,把sleep(300)改成sleep(60),但小心被拉黑。

报警声音有点吵。要是半夜断网,全家都得醒。你可以改成发邮件或者微信通知。稍微改几行代码就行。网上搜“Python 发邮件”,照着抄。

脚本跑起来以后,你就不用操心了。出门买菜,回来看看打印的记录。哪个时间段断过网,一目了然。跟运营商吵架的时候,拿这个截图当证据。

居家办公本来就不容易。网速这种基础条件,不能太拉胯。花五分钟把这个脚本跑起来,省得以后抓瞎。

最新文章

随机文章