python 判断网络连通的实现方法


Posted in Python onApril 22, 2018

开发中偶尔需要判断网络的连通性,没有什么方法比 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操作Word批量生成文章的方法
Jul 28 Python
python爬虫的工作原理
Mar 05 Python
python抓取网页中链接的静态图片
Jan 29 Python
详解Python自建logging模块
Jan 29 Python
python贪婪匹配以及多行匹配的实例讲解
Apr 19 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
May 06 Python
Django中celery执行任务结果的保存方法
Jul 12 Python
Python timeit模块的使用实践
Jan 13 Python
Keras - GPU ID 和显存占用设定步骤
Jun 22 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
Jul 23 Python
Pytest如何使用skip跳过执行测试
Aug 13 Python
Python  Asyncio模块实现的生产消费者模型的方法
Mar 01 Python
Python3之读取连接过的网络并定位的方法
Apr 22 #Python
对Python 网络设备巡检脚本的实例讲解
Apr 22 #Python
python爬虫_实现校园网自动重连脚本的教程
Apr 22 #Python
selenium+python实现自动登录脚本
Apr 22 #Python
python实现校园网自动登录的示例讲解
Apr 22 #Python
用Python写一段用户登录的程序代码
Apr 22 #Python
python实现简单登陆流程的方法
Apr 22 #Python
You might like
web方式ftp
2006/10/09 PHP
纯PHP生成的一个树叶图片画图例子
2014/04/16 PHP
PHP+MySQL删除操作实例
2015/01/21 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
2016/01/15 PHP
ThinkPHP实现登录退出功能
2017/06/29 PHP
javascript json2 使用方法
2010/03/16 Javascript
22点关于jquery性能优化的建议
2014/05/28 Javascript
去除字符串左右两边的空格(实现代码)
2016/05/12 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
Angular使用 ng-img-max 调整浏览器中的图片的示例代码
2017/08/17 Javascript
详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持
2017/10/21 Javascript
jQuery实现每隔一段时间自动更换样式的方法分析
2018/05/03 jQuery
Javascript实现一朵从含苞到绽放的玫瑰
2019/03/30 Javascript
浅谈Vue.js组件(二)
2019/04/09 Javascript
JS forEach跳出循环2种实现方法
2020/06/24 Javascript
js实现扫雷源代码
2020/11/27 Javascript
[02:23]2016国际邀请赛中国区预选赛wings晋级之路
2016/06/29 DOTA
[49:08]Secret vs VP 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[01:04:49]KG vs LGD 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python中利用Scipy包的SIFT方法进行图片识别的实例教程
2016/06/03 Python
详解Python各大聊天系统的屏蔽脏话功能原理
2016/12/01 Python
python 通过xml获取测试节点和属性的实例
2018/03/31 Python
python通过Windows下远程控制Linux系统
2018/06/20 Python
基于python实现简单日历
2018/07/28 Python
python用fsolve、leastsq对非线性方程组求解
2018/12/15 Python
Python列表原理与用法详解【创建、元素增加、删除、访问、计数、切片、遍历等】
2019/10/30 Python
初学者学习Python好还是Java好
2020/05/26 Python
Python生成pdf目录书签的实例方法
2020/10/29 Python
世界汽车零件:World Car Parts
2019/09/04 全球购物
介绍一下如何优化MySql
2016/12/20 面试题
企业管理毕业生求职信范文
2014/03/07 职场文书
书法兴趣小组活动总结
2014/07/07 职场文书
爬山的活动方案
2014/08/16 职场文书
整改通知书格式
2015/04/22 职场文书
看雷锋电影观后感
2015/06/10 职场文书
CentOS MySql8 远程连接实战
2022/04/19 MySQL