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常用的文件及文件路径、目录操作方法汇总介绍
May 21 Python
python的else子句使用指南
Feb 27 Python
python绘制热力图heatmap
Mar 23 Python
python re库的正则表达式入门学习教程
Mar 08 Python
python远程连接MySQL数据库
Apr 19 Python
python+tkinter实现学生管理系统
Aug 20 Python
如何在python中写hive脚本
Nov 08 Python
python误差棒图errorbar()函数实例解析
Feb 11 Python
Pycharm连接远程服务器过程图解
Apr 30 Python
python实现最短路径的实例方法
Jul 19 Python
基于Python实现简单学生管理系统
Jul 24 Python
python hmac模块验证客户端的合法性
Nov 07 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
NT IIS下用ODBC连接数据库
2006/10/09 PHP
php中json_decode()和json_encode()的使用方法
2012/06/04 PHP
解析PHP函数array_flip()在重复数组元素删除中的作用
2013/06/27 PHP
php中判断数组相等的方法以及数组运算符介绍
2015/03/30 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
Yii框架布局文件的动态切换操作示例
2019/11/11 PHP
JS性能优化笔记搜索整理
2013/08/21 Javascript
javascript函数中参数传递问题示例探讨
2014/07/31 Javascript
Javascript常用字符串判断函数代码分享
2014/12/08 Javascript
jQuery向后台传入json格式数据的方法
2015/02/13 Javascript
angularJS深拷贝详解
2017/03/23 Javascript
Vue2.0 从零开始_环境搭建操作步骤
2017/06/14 Javascript
nodejs爬虫初试superagent和cheerio
2018/03/05 NodeJs
JS获取input[file]的值并显示在页面的实现方法
2018/03/09 Javascript
在Vuex使用dispatch和commit来调用mutations的区别详解
2018/09/18 Javascript
七行JSON代码把你的网站变成移动应用过程详解
2019/07/09 Javascript
微信小程序表单验证WxValidate的使用
2019/11/27 Javascript
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
2020/02/14 Javascript
原生JS实现音乐播放器的示例代码
2021/02/25 Javascript
python实现校园网自动登录的示例讲解
2018/04/22 Python
Python获取指定字符前面的所有字符方法
2018/05/02 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
2018/12/03 Python
django中forms组件的使用与注意
2019/07/08 Python
Python接口测试结果集实现封装比较
2020/05/01 Python
python爬虫实例之获取动漫截图
2020/05/31 Python
SmartBuyGlasses意大利:购买太阳镜、眼镜和隐形眼镜
2018/11/20 全球购物
阿姆斯特丹杜莎夫人蜡像馆官方网站:Madame Tussauds Amsterdam
2019/03/12 全球购物
Java面试题:请问一下代码输出是什么
2015/05/27 面试题
历史系毕业生自荐信
2013/10/28 职场文书
乡镇纠风工作实施方案
2014/03/22 职场文书
县政府班子个人对照检查材料
2014/10/05 职场文书
2015年中学元旦晚会活动方案
2014/12/09 职场文书
2015年植树节活动总结
2015/02/06 职场文书
战友聚会致辞
2015/07/28 职场文书
Nginx解决403 forbidden的完整步骤
2021/04/01 Servers
通过Qt连接OpenGauss数据库的详细教程
2021/06/23 PostgreSQL