怎么利用Python实现网络测试

speedtest cli 专为软件开发人员、系统管理员和计算机爱好者等打造,是 ookla® 提供技术支持的首款正式 linux 本机 speedtest 应用程序。

Python语言编写的Speedtest CLI可在命令行直接运行,实现网络速度测试。也可以作为python模块在python IDE中直接调用。

首先,看一下如何在python应用中进行调用,使用pip直接安装。

pip install speedtest-cli

登录后复制

将该模块直接导入到我们当前的代码块中。

import speedtest as spt

登录后复制

创建网络测试对象

立即学习“Python免费学习笔记(深入)”;

spd = spt.Speedtest()

登录后复制

打印当前可用于测试的服务器列表

from pprint import pprintpprint(spd.get_servers())# {721.5702755019188: [{'cc': 'CN',#                       'country': 'China',#                       'd': 721.5702755019188,#                       'host': 'speedtest1.he.chinamobile.com:8080',#                       'id': '41912',#                       'lat': '38.0428',#                       'lon': '114.5149',#                       'name': '石家庄',#                       'sponsor': 'China Mobile Hebei Co., Ltd',#                       'url': 'http://speedtest1.he.chinamobile.com:8080/speedtest/upload.php'}],#  776.2668436087947: [{'cc': 'CN',#                       'country': 'China',#                       'd': 776.2668436087947,#                       'host': '5gtest.shangdu.com:8080',#                       'id': '36646',#                       'lat': '34.7466',#                       'lon': '113.6253',#                       'name': 'Zhengzhou',#                       'sponsor': 'China Unicom HeNan 5G',#                       'url': 'http://5gtest.shangdu.com:8080/speedtest/upload.php'}],#  1051.7168853741107: [{'cc': 'MN',#                        'country': 'Mongolia',#                        'd': 1051.7168853741107,#                        'host': 'speedtest.gemnet.mn:8080',#                        'id': '2853',#                        'lat': '47.9200',#                        'lon': '106.9200',#                        'name': 'Ulaanbaatar',#                        'sponsor': 'Gemnet LLC',#                        'url': 'http://speedtest.gemnet.mn:8080/speedtest/upload.php'},#                       {'cc': 'MN',#                        'country': 'Mongolia',#                        'd': 1051.7168853741107,#                        'host': 'speedtest1.kewiko.mn:8080',#                        'id': '30772',#                        'lat': '47.9200',#                        'lon': '106.9200',#                        'name': 'Ulaanbaatar',#                        'sponsor': 'Kewiko LLC',#                        'url': 'http://speedtest1.kewiko.mn:8080/speedtest/upload.php'}],#  1339.1170164273938: [{'cc': 'CN',#                        'country': 'China',#                        'd': 1339.1170164273938,#                        'host': '5gnanjing.speedtest.jsinfo.net:8080',#                        'id': '26352',#                        'lat': '32.0500',#                        'lon': '118.7667',#                        'name': 'Nanjing',#                        'sponsor': 'China Telecom JiangSu 5G',#                        'url': 'http://5gnanjing.speedtest.jsinfo.net:8080/speedtest/upload.php'}],#  1340.7612716854985: [{'cc': 'CN',#                        'country': 'China',#                        'd': 1340.7612716854985,#                        'host': 'speedtest02.js165.com:8080',#                        'id': '13704',#                        'lat': '32.0602',#                        'lon': '118.7968',#                        'name': 'Nanjing',#                        'sponsor': 'China Unicom',#                        'url': 'http://speedtest02.js165.com:8080/speedtest/upload.php'}],#  1381.9129755930571: [{'cc': 'CN',#                        'country': 'China',#                        'd': 1381.9129755930571,#                        'host': 'speedtest.zjmobile.com:8080',#                        'id': '17320',#                        'lat': '32.2069',#                        'lon': '119.4490',#                        'name': 'ZhenJiang',#                        'sponsor': 'China Mobile JiangSu 5G',#                        'url': 'http://speedtest.zjmobile.com:8080/speedtest/upload.php'}],#  1489.08809618835: [{'cc': 'RU',#                      'country': 'Russia',#                      'd': 1489.08809618835,#                      'host': 'speedtest-ude.edinos.ru:8080',#                      'id': '36254',#                      'lat': '51.8336',#                      'lon': '107.5840',#                      'name': 'Ulan-Ude',#                      'sponsor': 'EDINOS',#                      'url': 'http://speedtest-ude.edinos.ru:8080/speedtest/upload.php'}],#  1542.170901504592: [{'cc': 'RU',#                       'country': 'Russia',#                       'd': 1542.170901504592,#                       'host': 'speedtest.bteleport.ru:8080',#                       'id': '18543',#                       'lat': '52.2757',#                       'lon': '104.3087',#                       'name': 'Irkutsk',#                       'sponsor': 'Baikal Teleport',#                       'url': 'http://speedtest.bteleport.ru:8080/speedtest/upload.php'},#                      {'cc': 'RU',#                       'country': 'Russia',#                       'd': 1542.170901504592,#                       'host': 'speedtest-irkutsk.fttb.beeline.ru:8080',#                       'id': '31472',#                       'lat': '52.2757',#                       'lon': '104.3087',#                       'name': 'Irkutsk',#                       'sponsor': 'Beeline',#                       'url': 'http://speedtest-irkutsk.fttb.beeline.ru:8080/speedtest/upload.php'}]}

登录后复制

获取当前最佳的测试服务器

spd.get_best_server()print('测试开始,请稍等...')

登录后复制

获得当前的下载速度

download = int(spd.download() / 1024 / 1024)

登录后复制

获得当前的上传速度

upload = int(spd.upload() / 1024 / 1024)print(f'当前下载速度为:{str(download)} MB/s')print(f'当前上传速度为:{str(upload)} MB/s')print('测试已完成!')

登录后复制

打印出最终的返回结果

测试开始,请稍等…当前下载速度为:12 MB/s当前上传速度为:13 MB/s测试已完成!

以上就是怎么利用Python实现网络测试的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2235208.html

(0)
上一篇 2025年2月26日 17:55:12
下一篇 2025年2月19日 09:52:29

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Python 实现 PD 文字识别、提取并写入 CSV 文件脚本分享

     一、前言 二、需求描述 三、开始动手动脑 3.1 安装相关第三方包 3.2 导入需要用到的第三方库 3.3 读取pdf文件,并识别内容 3.4 对识别的数据进行处理,写入csv文件 总结 1. 前言 扫描件一直受大众青睐,任何纸质资料在扫…

    2025年2月26日 编程技术
    200
  • python web.py怎么启动https端口

    python web.py启动https端口         web.py启动https端口需要ssl证书,如果没有ssl证书,那么可以通过如下方式生成。 openssl genrsa -des3 -out server.key 1024o…

    编程技术 2025年2月26日
    200
  • 如何使用Python对网易云歌单数据分析及可视化

    项目概述 1.1项目来源 网易云音乐是一款由网易开发的音乐产品,是网易杭州研究院的成果 ,依托专业音乐人、dj、好友推荐及社交功能,在线音乐服务主打歌单、社交、大牌推荐和音乐指纹,以歌单、dj节目、社交、地理位置为核心要素,主打发现和分享。…

    2025年2月26日 编程技术
    200
  • python排序算法之选择排序怎么实现

    一、前言 初级排序算法是指几种较为基础且容易理解的排序算法。初级排序算法包括插入排序、选择排序和冒泡排序3种。虽然它们的效率相对于高级排序算法偏低,但是在了解初级排序算法之后,再去学习相对复杂的高级排序算法会容易许多。 二、描述 选择排序表…

    2025年2月26日
    200
  • 怎么使用Python中的正则表达式处理html文件

    使用python中的正则表达式处理html文件 finditer方法是一种全匹配方法。已经使用过findall方法的话,该方法将返回由多个匹配字符串组成的列表。对于多个匹配项,finditer会按顺序返回一个迭代器,每个迭代生成一个匹配对象…

    编程技术 2025年2月26日
    200
  • Python中的self怎么使用

    在介绍python的self用法之前,先来介绍下python中的类和实例我们知道,面向对象最重要的概念就是类(class)和实例(instance),类是抽象的模板,比如学生这个抽象的事物,可以用一个student类来表示。而实例是根据类创…

    编程技术 2025年2月26日
    200
  • Python类的基本使用方法有哪些

    1、面向对象 类(class):是一种用来描述具有相同属性和方法的对象的集合。 类变量:类变量在整个实例化的对象中是公用的。一般定义在类中且在函数体之外。 方法:类中的函数 数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。 …

    编程技术 2025年2月26日
    200
  • Python的五个具有钱途和潜力的岗位

    从2015开始国内就开始慢慢接触Python了,从16年开始Python就已经在国内的热度更高了,目前也可以算的上”全民Python”了。 众所周知小学生的教材里面已经有Python了,国家二级计算机证也需要学习Py…

    2025年2月26日 编程技术
    200
  • Python怎么实现发送声情并茂的邮件内容和附件

    1.准备工作 在开始之前,我们需要准备一些东西。首先,我们需要安装python。python可以从官方网站下载。 其次,我们需要安装smtplib库。这可以通过以下命令在终端中完成: pip install smtplib 登录后复制 2.…

    2025年2月26日 编程技术
    200
  • Python之Pygame的Event事件模块怎么使用

    Pygame的Event事件模块 事件(event)是 pygame 的重要模块之一,它是构建整个游戏程序的核心,比如常用的鼠标点击、键盘敲击、游戏窗口移动、调整窗口大小、触发特定的情节、退出游戏等,这些都可以看做是“事件”。  事件类型 …

    编程技术 2025年2月26日
    200

发表回复

登录后才能评论