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基本数据类型详细介绍
Mar 11 Python
python安装教程 Pycharm安装详细教程
May 02 Python
Pyinstaller打包.py生成.exe的方法和报错总结
Apr 02 Python
如何通过python画loss曲线的方法
Jun 26 Python
python pygame实现滚动横版射击游戏城市之战
Nov 25 Python
Tensorflow 实现分批量读取数据
Jan 04 Python
Tensorflow的梯度异步更新示例
Jan 23 Python
浅谈Python的方法解析顺序(MRO)
Mar 05 Python
Matlab使用Plot函数实现数据动态显示方法总结
Feb 25 Python
python中requests库+xpath+lxml简单使用
Apr 29 Python
python保存大型 .mat 数据文件报错超出 IO 限制的操作
May 10 Python
基于Python实现射击小游戏的制作
Apr 06 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
网络资源
2006/10/09 PHP
一个基于PDO的数据库操作类(新) 一个PDO事务实例
2011/07/03 PHP
php中使用__autoload()自动加载未定义类的实现代码
2013/02/06 PHP
php更新mysql后获取改变行数的方法
2014/12/25 PHP
PHP中的类型约束介绍
2015/05/11 PHP
PHP工程师VIM配置分享
2015/12/15 PHP
PHP记录页面停留时间的方法
2016/03/30 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
javascript编程起步(第四课)
2007/02/27 Javascript
jQuery 回车事件enter使用示例
2014/02/18 Javascript
JavaScript中一个奇葩的IE浏览器判断方法
2014/04/16 Javascript
node.js中的path.isAbsolute方法使用说明
2014/12/08 Javascript
Javascript使用SWFUpload进行多文件上传
2016/11/16 Javascript
详解NodeJS框架express的路径映射(路由)功能及控制
2017/03/24 NodeJs
vue与TypeScript集成配置最简教程(推荐)
2017/10/17 Javascript
vue 实现数字滚动增加效果的实例代码
2018/07/06 Javascript
微信小程序网络请求封装示例
2018/07/24 Javascript
js prototype深入理解及应用实例分析
2019/11/25 Javascript
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
2020/03/02 Javascript
elementui更改el-dialog关闭按钮的图标d的示例代码
2020/08/04 Javascript
python遍历 truple list dictionary的几种方法总结
2016/09/11 Python
详解Python 4.0 预计推出的新功能
2019/07/26 Python
PyQt Qt Designer工具的布局管理详解
2019/08/07 Python
python多线程分块读取文件
2019/08/29 Python
python绘制雷达图实例讲解
2021/01/03 Python
HTML5 File接口在web页面上使用文件下载
2017/02/27 HTML / CSS
HTML5 拖拽批量上传文件的示例代码
2018/03/28 HTML / CSS
法国一家芭蕾舞鞋公司:Repetto
2018/11/12 全球购物
中国领先的汽车保养服务平台:途虎养车
2019/10/18 全球购物
大学运动会通讯稿
2014/01/28 职场文书
优秀大学生事迹材料
2014/12/24 职场文书
表扬稿范文
2015/01/17 职场文书
我们的节日中秋节活动总结
2015/03/23 职场文书
2015年人事专员工作总结
2015/04/29 职场文书
收入证明范本
2015/06/12 职场文书
小学语文课《掌声》教学反思
2016/03/03 职场文书