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中wx将图标显示在右下角的脚本代码
Mar 08 Python
Python2.x中str与unicode相关问题的解决方法
Mar 30 Python
python显示生日是星期几的方法
May 27 Python
python实现pdf转换成word/txt纯文本文件
Jun 07 Python
Python3爬虫使用Fidder实现APP爬取示例
Nov 27 Python
在python中将字符串转为json对象并取值的方法
Dec 31 Python
Python使用pymongo库操作MongoDB数据库的方法实例
Feb 22 Python
Django框架模板语言实例小结【变量,标签,过滤器,继承,html转义】
May 23 Python
python 实现图像快速替换某种颜色
Jun 04 Python
numba提升python运行速度的实例方法
Jan 25 Python
教你怎么用Python监控愉客行车程
Apr 29 Python
Python 中random 库的详细使用
Jun 03 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/10/12 PHP
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
2016/03/21 PHP
PHP5.2中PDO的简单使用方法
2016/03/25 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
jquery插件制作 手风琴Panel效果实现
2012/08/17 Javascript
JavaScript在多浏览器下for循环的使用方法
2012/11/07 Javascript
JQuery实现当鼠标停留在某区域3秒后自动执行
2014/09/09 Javascript
js中style.display=""无效的解决方法
2014/10/30 Javascript
js实现按钮加背景图片常用方法
2014/11/01 Javascript
jQuery提示效果代码分享
2014/11/20 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
2014/11/23 Javascript
jquery中ajax使用error调试错误的方法
2015/02/08 Javascript
vue自定义指令实现v-tap插件
2016/11/03 Javascript
JS html时钟制作代码分享
2017/03/03 Javascript
Vue实现计算器计算效果
2020/08/17 Javascript
JavaScript 如何计算文本的行数的实现
2020/09/14 Javascript
vue 动态添加class,三个以上的条件做判断方式
2020/11/02 Javascript
node.js 基于 STMP 协议和 EWS 协议发送邮件
2021/02/14 Javascript
Python利用pyHook实现监听用户鼠标与键盘事件
2014/08/21 Python
Python实现list反转实例汇总
2014/11/11 Python
详解Python的Flask框架中生成SECRET_KEY密钥的方法
2016/06/07 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
2020/01/04 Python
django的autoreload机制实现
2020/06/03 Python
CSS3动画和HTML5新特性详解
2020/08/31 HTML / CSS
canvas实现高阶贝塞尔曲线(N阶贝塞尔曲线生成器)
2018/01/10 HTML / CSS
StubHub智利:购买和出售您的门票
2016/11/23 全球购物
Scholastic父母商店:儿童书籍
2017/01/01 全球购物
加拿大百叶窗和窗帘定制网站:Blinds
2017/01/30 全球购物
构造方法和其他方法的区别
2016/04/26 面试题
个人简历自我评价八例
2013/10/31 职场文书
“向国旗敬礼”活动策划方案(4篇)
2014/09/27 职场文书
家属答谢词
2015/01/05 职场文书
刑事上诉状(量刑过重)
2015/05/23 职场文书
签字仪式主持词
2015/07/03 职场文书
师德师风心得体会(2016精选篇)
2016/01/12 职场文书
Python中的 enumerate和zip详情
2022/05/30 Python