使用 Python 检查互联网速度的主要问题是没有标准化的方法来做到这一点。 不同的程序会给你不同的结果,即使一个程序说你的连接速度很快,但实际情况可能并非如此。
import speedtest import os import time def test_speed(): s = speedtest.Speedtest() s.get_best_server() s.download() s.upload() return s.results.dict()['download'] / 8000000, s.results.dict()['upload'] / 8000000, s.results.dict()['ping'] def main(): while True: download, upload, ping = test_speed() print('Download: {:0.2f} MbpstUpload: {:0.2f} MbpstPing: {} ms'.format(download, upload, ping)) time.sleep(5) if __name__ == '__main__': main()
前三行导入了 speedtest、os 和 time 模块。
下一行定义了一个名为 test_speed() 的函数。 此函数使用 speedtest 模块来测试互联网连接的速度并返回结果。
下一行定义了一个名为 main() 的函数。 此函数调用 test_speed() 函数并打印结果。 然后它会在重复之前休眠 5 秒。
最后,如果此文件作为脚本运行(而不是作为模块导入),则调用 main() 函数。
什么是网速
Python 中的互联网速度可以用每秒字节数来衡量。
网速服务
有几种不同的方法可以在 Python 中测量 Internet 连接的速度。 最简单的方法是使用内置函数 time 。 time() 以秒为单位打印当前时间。
测量 Internet 连接速度的第二种方法是使用 netstat 命令。 netstat 显示所有活动的网络连接及其状态。 要获取有关特定网络连接速度的信息,请使用 -i 选项:
$ 网络统计 -i | grep “:80” 活动互联网连接(服务器和客户端) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN 548/sshd tcp6 0 0 : ::80 ::::* 听 672/docker tcp6 0 1 ::1:80 ::::* 听 672/docker