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 logging模块学习笔记
May 24 Python
基于Python实现一个简单的银行转账操作
Mar 06 Python
Python实现简单的获取图片爬虫功能示例
Jul 12 Python
浅谈python中copy和deepcopy中的区别
Oct 23 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
Oct 14 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
Mar 24 Python
Jupyter notebook快速入门教程(推荐)
May 18 Python
Python Tkinter图形工具使用方法及实例解析
Jun 15 Python
matplotlib subplot绘制多个子图的方法示例
Jul 28 Python
PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)
Aug 07 Python
Python Pandas解析读写 CSV 文件
Apr 11 Python
Python实现批量将文件复制到新的目录中再修改名称
Apr 12 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
模仿OSO的论坛(四)
2006/10/09 PHP
php 多线程上下文中安全写文件实现代码
2009/12/28 PHP
PHP字符串处理的10个简单方法
2010/06/30 PHP
php class中self,parent,this的区别以及实例介绍
2013/04/24 PHP
PHP获得数组交集与差集的方法
2015/06/10 PHP
php header函数的常用http头设置
2015/06/25 PHP
php简单生成一组与多组随机字符串的方法
2017/05/09 PHP
PHP设计模式之建造者模式定义与用法简单示例
2018/08/13 PHP
javascript 正则替换 replace(regExp, function)用法
2010/05/22 Javascript
JavaScript之HTMLCollection接口代码
2011/04/27 Javascript
js中将String转换为number以便比较
2014/07/08 Javascript
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
2014/12/20 Javascript
原生javascript实现图片按钮切换
2015/01/12 Javascript
EasyUi datagrid 实现表格分页
2015/02/10 Javascript
js实现四舍五入完全保留两位小数的方法
2016/08/02 Javascript
JS数组排序方法实例分析
2016/12/16 Javascript
解决Webpack 热部署检测不到文件变化的问题
2018/02/22 Javascript
解决Angular.js中使用Swiper插件不能滑动的问题
2018/02/26 Javascript
Vue自定义指令封装节流函数的方法示例
2018/07/09 Javascript
vue-router动态设置页面title的实例讲解
2018/08/30 Javascript
你应该了解的JavaScript Array.map()五种用途小结
2018/11/14 Javascript
详解vuex 渐进式教程实例代码
2018/11/27 Javascript
JS实现滚动条触底加载更多
2019/09/19 Javascript
Django开发中复选框用法示例
2018/03/20 Python
Python网页正文转换语音文件的操作方法
2018/12/09 Python
详解Python requests 超时和重试的方法
2018/12/18 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
2018/12/26 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
2019/07/09 Python
Python中openpyxl实现vlookup函数的实例
2020/10/28 Python
西班牙国家航空官方网站:Iberia
2017/11/16 全球购物
2015暑期社会实践个人总结
2015/07/13 职场文书
人代会简报
2015/07/21 职场文书
简单且有用的Python数据分析和机器学习代码
2021/07/02 Python
零基础学java之带参数以及返回值的方法
2022/04/10 Java/Android
Win11快速关闭所有广告推荐
2022/04/19 数码科技
分析SQL窗口函数之排名窗口函数
2022/04/21 Oracle