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 socket网络编程步骤详解(socket套接字使用)
Dec 06 Python
Python对列表去重的多种方法(四种方法)
Dec 05 Python
Python线性回归实战分析
Feb 01 Python
numpy找出array中的最大值,最小值实例
Apr 03 Python
JSON文件及Python对JSON文件的读写操作
Oct 07 Python
10行Python代码计算汽车数量的实现方法
Oct 23 Python
python 浅谈serial与stm32通信的编码问题
Dec 18 Python
pytorch 状态字典:state_dict使用详解
Jan 17 Python
python-docx文件定位读取过程(尝试替换)
Feb 13 Python
Django调用支付宝接口代码实例详解
Apr 04 Python
Django用户登录与注册系统的实现示例
Jun 03 Python
Python读写Excel表格的方法
Mar 02 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
php select,radio和checkbox默认选择的实现方法
2010/05/15 PHP
PHP IN_ARRAY 函数使用注意事项
2010/07/24 PHP
PHP中单例模式与工厂模式详解
2017/02/17 PHP
点图片上一页下一页翻页效果
2008/07/09 Javascript
File文件控件,选中文件(图片,flash,视频)即立即预览显示
2009/04/09 Javascript
JavaScript实现从数组中选出和等于固定值的n个数
2014/09/03 Javascript
JavaScript中判断整数的多种方法总结
2014/11/08 Javascript
javascript表单验证和Window详解
2014/12/11 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
angular中使用路由和$location切换视图
2015/01/23 Javascript
JavaScript几种数组去掉重复值的方法推荐
2016/04/12 Javascript
JavaScript 函数节流详解及方法总结
2017/02/09 Javascript
jQuery Validate插件ajax方式验证输入值的实例
2017/12/21 jQuery
简单谈谈CommonsChunkPlugin抽取公共模块
2017/12/31 Javascript
通过实践编写优雅的JavaScript代码
2019/05/30 Javascript
js实现随机数小游戏
2019/06/28 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
微信小程序全局变量GLOBALDATA的定义和调用过程解析
2019/09/23 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
JavaScript实现移动小精灵的案例代码
2020/12/12 Javascript
[02:13] 完美世界DOTA2联赛PWL DAY5集锦
2020/11/03 DOTA
python对指定目录下文件进行批量重命名的方法
2015/04/18 Python
Python针对给定列表中元素进行翻转操作的方法分析
2018/04/27 Python
python计算两个矩形框重合百分比的实例
2018/11/07 Python
python 多线程将大文件分开下载后在合并的实例
2018/11/09 Python
pytorch获取模型某一层参数名及参数值方式
2019/12/30 Python
Python修改列表值问题解决方案
2020/03/06 Python
详解Python 中的容器 collections
2020/08/17 Python
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
一份全面的PHP面试问题考卷
2012/07/15 面试题
在Java开发中如何选择使用哪种集合类
2016/08/09 面试题
门卫岗位安全职责
2013/12/13 职场文书
医药专业应届毕业生求职信范文
2014/01/01 职场文书
家庭教育先进个人事迹材料
2014/01/24 职场文书
学校通报表扬范文
2015/05/04 职场文书
2016年社会管理综治宣传月活动总结
2016/03/16 职场文书