Python实现网络连通性检测与自动恢复脚本
本文提供基于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编程实践有所帮助。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













