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简单获取网卡名称及其IP地址的方法【基于psutil模块】
May 24 Python
python scipy求解非线性方程的方法(fsolve/root)
Nov 12 Python
用python实现刷点击率的示例代码
Feb 21 Python
python 同时读取多个文件的例子
Jul 16 Python
python-numpy-指数分布实例详解
Dec 07 Python
Python3 A*寻路算法实现方式
Dec 24 Python
Python图像处理库PIL的ImageEnhance模块使用介绍
Feb 26 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
Jun 28 Python
Python中免验证跳转到内容页的实例代码
Oct 23 Python
使用Python实现音频双通道分离
Dec 25 Python
Python实现石头剪刀布游戏
Jan 20 Python
Python中的socket网络模块介绍
Jul 23 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/04/22 PHP
强烈声明: 不要使用(include/require)_once
2013/06/06 PHP
Thinkphp中Create方法深入探究
2014/06/16 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
2014/07/04 PHP
PHP文件读写操作相关函数总结
2014/11/18 PHP
去掉gridPanel表头全选框的小例子
2013/07/18 Javascript
JS获取几种URL地址的方法小结
2014/02/26 Javascript
node.js中的socket.io的广播消息
2014/12/15 Javascript
jquery实现的仿天猫侧导航tab切换效果
2015/08/24 Javascript
深入理解bootstrap框架之第二章整体架构
2016/10/09 Javascript
微信小程序中form 表单提交和取值实例详解
2017/04/20 Javascript
AngularJS动态菜单操作指令
2017/04/25 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
使用DataTable插件实现异步加载数据
2017/11/19 Javascript
javascript高仿热血传奇游戏实现代码
2018/02/22 Javascript
基于mpvue搭建微信小程序项目框架的教程详解
2019/04/10 Javascript
vue使用vuex实现首页导航切换不同路由的方法
2019/05/08 Javascript
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
详解vue中v-bind:style效果的自定义指令
2020/01/21 Javascript
Python中利用sqrt()方法进行平方根计算的教程
2015/05/15 Python
Python实现字符串格式化输出的方法详解
2017/09/20 Python
想学python 这5本书籍你必看!
2018/12/11 Python
Python中filter与lambda的结合使用详解
2019/12/24 Python
Anaconda和ipython环境适配的实现
2020/04/22 Python
广州足迹信息技术有限公司Java软件工程师试题
2014/02/15 面试题
医学生个人求职信范文
2013/09/24 职场文书
优秀学生自我鉴定范例
2013/12/18 职场文书
秋季运动会通讯稿
2014/01/24 职场文书
致跳远运动员广播稿
2014/02/11 职场文书
初三班主任寄语大全
2014/04/04 职场文书
实践单位评语
2014/04/26 职场文书
机关保密承诺书
2014/06/03 职场文书
四风个人对照检查材料思想汇报(办公室通用版)
2014/10/07 职场文书
党员志愿者服务倡议书
2015/04/29 职场文书
如何写观后感
2015/06/19 职场文书
Vue过滤器(filter)实现及应用场景详解
2021/06/15 Vue.js