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中操作列表之list.extend()方法的使用
May 20 Python
Linux系统上Nginx+Python的web.py与Django框架环境
Dec 25 Python
Python简单格式化时间的方法【strftime函数】
Sep 18 Python
Python处理中文标点符号大集合
May 14 Python
windows下python 3.6.4安装配置图文教程
Aug 21 Python
python UDP(udp)协议发送和接收的实例
Jul 22 Python
python shutil文件操作工具使用实例分析
Dec 25 Python
4行Python代码生成图像验证码(2种)
Apr 07 Python
Pyinstaller 打包发布经验总结
Jun 02 Python
Django migrate报错的解决方案
May 20 Python
Python Flask请求扩展与中间件相关知识总结
Jun 11 Python
使用python绘制横竖条形图
Apr 21 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生成随机数或者字符串的代码
2008/09/05 PHP
浅析php过滤html字符串,防止SQL注入的方法
2013/07/02 PHP
yii上传文件或图片实例
2014/04/01 PHP
PHP实现获取图片颜色值的方法
2014/07/11 PHP
非常不错的一个javascript 类
2006/11/07 Javascript
写了10年的Javascript也未必全了解的连续赋值运算
2011/03/25 Javascript
jquery 按钮状态效果 正常、移上、按下
2013/08/12 Javascript
使用javascript实现页面定时跳转总结篇
2013/09/21 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
2015/08/24 Javascript
html、css和jquery相结合实现简单的进度条效果实例代码
2016/10/24 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
2017/02/09 Javascript
vue.js中父组件调用子组件的内部方法示例
2017/10/22 Javascript
JS实现网页抢购功能(触发,终止脚本)
2017/11/27 Javascript
qrcode生成二维码微信长按无法识别问题的解决
2019/04/04 Javascript
JS FormData对象使用方法实例详解
2020/02/12 Javascript
在Python的web框架中配置app的教程
2015/04/30 Python
python机器学习实战之K均值聚类
2017/12/20 Python
python2.7无法使用pip的解决方法(安装easy_install)
2018/04/03 Python
python画折线图的程序
2018/07/26 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
2018/12/10 Python
详解Python安装tesserocr遇到的各种问题及解决办法
2019/03/07 Python
python异步存储数据详解
2019/03/19 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
2019/04/11 Python
python web框架 django wsgi原理解析
2019/08/20 Python
Python中字典与恒等运算符的用法分析
2019/08/22 Python
Python替换NumPy数组中大于某个值的所有元素实例
2020/06/08 Python
K近邻法(KNN)相关知识总结以及如何用python实现
2021/01/28 Python
Python3+PyCharm+Django+Django REST framework配置与简单开发教程
2021/02/16 Python
简单介绍Object类的功能、常用方法
2013/10/02 面试题
Shell如何接收变量输入
2016/08/06 面试题
承认错误的检讨书
2014/01/30 职场文书
房屋租赁协议书
2014/10/18 职场文书
2014年政协工作总结
2014/12/09 职场文书
投标承诺函格式
2015/01/21 职场文书
工人先锋号事迹材料(2016精选版)
2016/03/01 职场文书
pytorch交叉熵损失函数的weight参数的使用
2021/05/24 Python