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 相关文章推荐
wxPython中文教程入门实例
Jun 09 Python
利用Python画ROC曲线和AUC值计算
Sep 19 Python
一个基于flask的web应用诞生 记录用户账户登录状态(6)
Apr 11 Python
Python学习_几种存取xls/xlsx文件的方法总结
May 03 Python
在Pycharm中执行scrapy命令的方法
Jan 16 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
Jun 27 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
Feb 14 Python
Python爬取阿拉丁统计信息过程图解
May 12 Python
Python flask框架如何显示图像到web页面
Jun 03 Python
python爬虫 requests-html的使用
Nov 30 Python
分享一个python的aes加密代码
Dec 22 Python
Python脚本调试工具安装过程
Jan 11 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下过滤html代码的函数 提高程序安全性
2010/03/02 PHP
php添加文章时生成静态HTML文章的实现代码
2013/02/17 PHP
微信access_token的获取开发示例
2015/04/16 PHP
PHP实现的QQ空间g_tk加密算法
2015/07/09 PHP
PHP实现连接设备、通讯和发送命令的方法
2015/10/13 PHP
DEFER怎么用?
2006/07/01 Javascript
javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果
2010/03/08 Javascript
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
2010/09/12 Javascript
javascript闭包的高级使用方法实例
2013/07/04 Javascript
js鼠标点击图片实现随机变换图片的方法
2015/02/16 Javascript
javascript获取本机操作系统类型的方法
2015/08/13 Javascript
JS日期加减,日期运算代码
2015/11/05 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
Jquery表单验证失败后不提交的解决方法
2016/10/18 Javascript
百度多文件异步上传控件webuploader基本用法解析
2016/11/07 Javascript
vue加载完成后的回调函数方法
2018/09/07 Javascript
vuejs router history 配置到iis的方法
2018/09/20 Javascript
JS+HTML5 canvas绘制验证码示例
2018/12/05 Javascript
JavaScript实现轮播图片完整代码
2020/03/07 Javascript
[53:52]OG vs EG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python中MYSQLdb出现乱码的解决方法
2014/10/11 Python
python3.6连接MySQL和表的创建与删除实例代码
2017/12/28 Python
Python下调用Linux的Shell命令的方法
2018/06/12 Python
python的pip安装以及使用教程
2018/09/18 Python
python两个_多个字典合并相加的实例代码
2019/12/26 Python
Python接口测试文件上传实例解析
2020/05/22 Python
Python定时任务APScheduler原理及实例解析
2020/05/30 Python
PyCharm最新激活码PyCharm2020.2.3有效
2020/11/18 Python
美国学校用品、教室和教学商店:Discount School Supply
2018/04/04 全球购物
销售员岗位职责范本
2014/02/03 职场文书
网络工程专业自荐信范文
2014/03/16 职场文书
小学教师评语大全
2014/04/23 职场文书
家长会标语
2014/06/24 职场文书
家长对孩子的寄语
2015/02/26 职场文书
SQL Server2019数据库之简单子查询的具有方法
2021/04/27 SQL Server
python中使用 unittest.TestCase单元测试的用例详解
2021/08/30 Python