博客专栏

EEPW首页 > 博客 > Python视频教程之Python判断网络连通的实现方法

Python视频教程之Python判断网络连通的实现方法

发布人:扣丁学堂2 时间:2021-04-22 来源:工程师 发布文章

今天扣丁学堂Python培训小编主要是给大家分享一下Python判断网络连通的实现方法,喜欢Python开发的小伙伴们可以随着小编一起来了解一下。

扣丁学堂Python培训之Python判断网络连通的实现方法

开发中偶尔需要判断网络的连通性,没有什么方法比ping 更直接了当。开发中偶尔需要判断网络的连通性,没有什么方法比 ping 更直接了当,通常检查网络情况都是运行命令ping www.baidu.com ,查看输出信息即可。


C:\Users>ping www.baidu.com
正在 Ping www.baidu.com [61.135.169.125] 具有 32 字节的数据:
来自 61.135.169.125 的回复: 字节=32 时间=4ms TTL=57
来自 61.135.169.125 的回复: 字节=32 时间=7ms TTL=57
来自 61.135.169.125 的回复: 字节=32 时间=9ms TTL=57
来自 61.135.169.125 的回复: 字节=32 时间=9ms TTL=57
61.135.169.125 的 Ping 统计信息:
 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
 最短 = 4ms,最长 = 9ms,平均 = 7ms


简单方法:

python执行批处理用多种方法,考虑到我们仅仅用于验证网络连通性,只需要最终的结果,os.system()方法最合适,执行cmd命令,并返回进程执行退出错误码。


import os
exit_code = os.system('ping www.baidu.com')
if exit_code:
 raise Exception('connect failed.')


网络连通 exit_code == 0,否则返回非0值。

高级方法:

获取访问域名的IP地址。正则表达式提取 [61.135.169.125] 数据。

获取网络实际连通的情况。正则表达式提取 TTL 和 时间 判断当前的网络状况。

使用 subprocess 管道调用的方式获取控制台输出信息,然后在使用正则表达式提取关键数据。

小结:

相比其他方法判断网络连通性,命令行执行 ping 的方案实现简单、快捷、有效。


以上就是扣丁学堂Python在线学习小编给大家分享的Python判断网络连通的实现方法,希望对小伙伴有所帮助,想要了解更多内容的小伙伴可以登录扣丁学堂官网咨询。扣丁学堂是专业的Python培训机构,不仅有专业的老师和与时俱进的课程体系,还有大量的Python在线视频供学员观看学习,想要学好Python的小伙伴快快行动吧。扣丁学堂python学习交流群:816572891。微信号:codingbb

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词: Python视频

技术专区

关闭