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遍历目录的4种方法实例介绍
Apr 13 Python
python通过索引遍历列表的方法
May 04 Python
python 生成器协程运算实例
Sep 04 Python
详解关于Django中ORM数据库迁移的配置
Oct 08 Python
python代码编写计算器小程序
Mar 30 Python
解决Django中调用keras的模型出现的问题
Aug 07 Python
基于Python实现船舶的MMSI的获取(推荐)
Oct 21 Python
pycharm工具连接mysql数据库失败问题
Apr 01 Python
Python模块常用四种安装方式
Oct 20 Python
Pycharm操作Git及GitHub的步骤详解
Oct 27 Python
jupyter notebook保存文件默认路径更改方法汇总(亲测可以)
Jun 09 Python
python基础之函数的定义和调用
Oct 24 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实现的获取网页中的图片并保存到本地的代码
2010/01/05 PHP
mac下Apache + MySql + PHP搭建网站开发环境
2014/06/02 PHP
php使用MySQL保存session会话的方法
2015/06/26 PHP
Zend Framework教程之视图组件Zend_View用法详解
2016/03/05 PHP
Yii控制器中操作视图js的方法
2016/07/04 PHP
YII框架关联查询操作示例
2019/04/29 PHP
网页的标准,IMG不支持onload标签怎么办
2006/06/29 Javascript
基于JQuery的Pager分页器实现代码
2010/07/17 Javascript
JS在TextArea光标位置插入文字并实现移动光标到文字末尾
2013/06/21 Javascript
jquery用get实现ajax在ie里面刷新不进入后台解决方法
2013/08/12 Javascript
express的中间件basicAuth详解
2014/12/04 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
2015/07/06 Javascript
利用HTML5的画布Canvas实现刮刮卡效果
2015/09/06 Javascript
值得分享的JavaScript实现图片轮播组件
2016/11/21 Javascript
利用JS制作万年历的方法
2017/08/16 Javascript
JavaScript实现滑动导航栏效果
2017/08/30 Javascript
详解vue 数据传递的方法
2018/04/19 Javascript
jQuery实现模拟搜索引擎的智能提示功能简单示例
2019/01/27 jQuery
JS数据类型判断的几种常用方法
2020/07/07 Javascript
vue watch监控对象的简单方法示例
2021/01/07 Vue.js
linux系统使用python监测网络接口获取网络的输入输出
2014/01/15 Python
在Python的struct模块中进行数据格式转换的方法
2015/06/17 Python
python实现搜索本地文件信息写入文件的方法
2016/02/22 Python
python如何对实例属性进行类型检查
2018/03/20 Python
python numpy和list查询其中某个数的个数及定位方法
2018/06/27 Python
如何爬取通过ajax加载数据的网站
2019/08/15 Python
python代码中怎么换行
2020/06/17 Python
Django自定义YamlField实现过程解析
2020/11/11 Python
html5定位获取当前位置并在百度地图上显示
2014/08/22 HTML / CSS
小学生检讨书大全
2014/02/06 职场文书
认购协议书范本
2014/04/22 职场文书
优秀教师感人事迹材料
2014/05/04 职场文书
爱国主义教育演讲稿
2014/08/26 职场文书
离婚协议书范文
2015/01/26 职场文书
2015年外联部工作总结
2015/04/03 职场文书
浅谈怎么给Python添加类型标注
2021/06/08 Python