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 socket 超时设置 errno 10054
Jul 01 Python
python使用cStringIO实现临时内存文件访问的方法
Mar 26 Python
Python中的模块导入和读取键盘输入的方法
Oct 16 Python
Python之使用adb shell命令启动应用的方法详解
Jan 07 Python
Python基于机器学习方法实现的电影推荐系统实例详解
Jun 25 Python
python中selenium操作下拉滚动条的几种方法汇总
Jul 14 Python
使用pth文件添加Python环境变量方式
May 26 Python
Selenium自动化测试工具使用方法汇总
Jun 12 Python
Django rest framework分页接口实现原理解析
Aug 21 Python
python如何运行js语句
Sep 09 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
Nov 13 Python
解决python3输入的坑——input()
Dec 05 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 文本文件的读取效率
2012/02/10 PHP
PHP可变变量学习小结
2015/11/29 PHP
javascript应用:Iframe自适应其加载的内容高度
2007/04/10 Javascript
jQuery-Tools-overlay 使用介绍
2012/07/14 Javascript
js jquery数组介绍
2012/07/15 Javascript
为Javascript中的String对象添加去除左右空格的方法(示例代码)
2013/11/30 Javascript
jquery.ajax之beforeSend方法使用介绍
2014/12/08 Javascript
关于获取DIV内部内容报错的原因分析及解决办法
2016/01/29 Javascript
angular指令笔记ng-options的使用方法
2017/09/18 Javascript
对vue中的事件穿透与禁止穿透实例详解
2019/10/28 Javascript
在vue中使用Base64转码的案例
2020/08/07 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
python读文件逐行处理的示例代码分享
2013/12/27 Python
python实现监控linux性能及进程消耗性能的方法
2014/07/25 Python
requests和lxml实现爬虫的方法
2017/06/11 Python
DataFrame中去除指定列为空的行方法
2018/04/08 Python
解决pycharm上的jupyter notebook端口被占用问题
2019/12/17 Python
什么是python类属性
2020/06/10 Python
python查询MySQL将数据写入Excel
2020/10/29 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
2020/11/15 Python
资生堂美国官网:Shiseido美国
2016/09/02 全球购物
如何开发一个JQuery插件
2016/07/28 面试题
J2ee常用的设计模式?说明工厂模式
2015/05/21 面试题
物流专业大学生的自我鉴定
2013/11/13 职场文书
开学典礼策划方案
2014/05/28 职场文书
最美乡村医生事迹材料
2014/06/02 职场文书
地理科学专业自荐信
2014/09/01 职场文书
2014年大学学生会工作总结
2014/12/02 职场文书
离婚协议书格式
2015/01/26 职场文书
营业员岗位职责范本
2015/04/14 职场文书
社区党支部承诺书
2015/04/29 职场文书
写给医护人员的一封感谢信
2019/09/16 职场文书
导游词之南京莫愁湖公园
2019/11/13 职场文书
总结Python连接CS2000的详细步骤
2021/06/23 Python
国产动画《万圣街》日语配音版制作决定!
2022/03/20 国漫
Golang 入门 之url 包
2022/05/04 Golang