Python实现网络连通性检测与自动恢复脚本

南乔
南乔
发布时间:2026-10-13 | 6人浏览过
原创

本文提供基于Python的网络连通性测试示例,通过调用系统ping命令检测网络状态。代码包含禁用网卡及自动重试逻辑,并针对[[wp:a2]]编码可能引发的乱码问题,建议改用[[wp:a3]]编码以确保结果正常显示。

本文介绍一种使用Python检测网络连通性的方法,供读者参考学习。

相关Python实现代码如下:

#!/usr/bin/python
# -*- coding:GBK -*-
"""Document: network script, keep network always working, using python3"""
import os
import time
PING_RESULT = 0
NETWORK_RESULT = 0
def DisableNetwork():
 ''' disable network card '''
 result = os.system(u"netsh interface set interface 以太网 disable")
 if result == 1:
  print("disable network card failed")
 else:
  print("disable network card successfully")
def ping():
 ''' ping 主备网络 '''
 result = os.system(u"ping 180.97.33.108")
 #result = os.system(u"ping www.baidu.com -n 3")
 if result == 0:
  print("A网正常")
 else:
  print("网络故障")
 return result
if __name__ == '__main__':
 while True:
  PING_RESULT = ping()
  if PING_RESULT == 0:
   time.sleep(20)
  else:
   DisableNetwork()
   time.sleep(10)

程序执行后的输出结果如下:

注意:原始示例使用utf-8编码,但在实际测试中该编码可能导致返回结果出现乱码,因此建议调整为GBK编码以解决此问题。

如需了解更多Python相关知识,可参考本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》以及《Python文件与目录操作技巧汇总》。

希望上述内容能对您的Python编程实践有所帮助。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表