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实现端口复用实例代码
Jul 03 Python
跟老齐学Python之??碌某?? target=
Sep 12 Python
python抓取百度首页的方法
May 19 Python
Python的Django框架中的数据过滤功能
Jul 17 Python
Python使用PIL库实现验证码图片的方法
Mar 11 Python
Python下载指定页面上图片的方法
May 12 Python
Python实现脚本锁功能(同时只能执行一个脚本)
May 10 Python
python 读取竖线分隔符的文本方法
Dec 20 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
May 26 Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
Nov 17 Python
pygame面向对象的飞行小鸟实现(Flappy bird)
Apr 01 Python
总结Python常用的魔法方法
May 25 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
phpstrom使用xdebug配置方法
2013/12/17 PHP
yii框架配置默认controller和action示例
2014/04/30 PHP
制作安全性高的PHP网站的几个实用要点
2014/12/30 PHP
百万级别知乎用户数据抓取与分析之PHP开发
2015/09/28 PHP
PHP实现可自定义样式的分页类
2016/03/29 PHP
JQuery 入门实例1
2009/06/25 Javascript
JS 用6N±1法求素数 实例教程
2009/10/20 Javascript
javascript时间函数基础介绍
2013/03/28 Javascript
jquery设置控件位置的方法
2013/08/21 Javascript
jQuery实现选项联动轮播效果【附实例】
2016/04/19 Javascript
jquery实现瀑布流效果 jquery下拉加载新数据
2016/12/12 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
javascript 中的try catch应用总结
2017/04/01 Javascript
xmlplus组件设计系列之文本框(TextBox)(3)
2017/05/03 Javascript
vue实现商城上货组件简易版
2017/11/27 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
2018/04/09 Javascript
angular 实时监听input框value值的变化触发函数方法
2018/08/31 Javascript
微信小程序城市选择及搜索功能的方法
2019/03/22 Javascript
使用nodejs分离html文件里的js和css详解
2019/04/12 NodeJs
javascript的this关键字详解
2019/05/20 Javascript
40行代码把Vue3的响应式集成进React做状态管理
2020/05/20 Javascript
解决vue里a标签值解析变量,跳转页面,前面加默认域名端口的问题
2020/07/22 Javascript
Vue this.$router.push(参数)实现页面跳转操作
2020/09/09 Javascript
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
Python有序查找算法之二分法实例分析
2017/12/11 Python
浅谈Python实现Apriori算法介绍
2017/12/20 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
2019/04/04 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
浅谈Pytorch中的torch.gather函数的含义
2019/08/18 Python
python求平均数、方差、中位数的例子
2019/08/22 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
2019/12/13 Python
军训的自我鉴定
2013/12/10 职场文书
《蓝色的树叶》教学反思
2014/02/24 职场文书
Python深度学习之Pytorch初步使用
2021/05/20 Python
手把手教你从零开始react+antd搭建项目
2021/06/03 Javascript
MySQL存储过程及语法详解
2022/08/05 MySQL