当前位置: 首页 > article >正文

自动ping值脚本

import subprocess import time import json import re TARGET_IP 改成设备ip PING_COUNT 1000 TIMEOUT 1000 # ms STUTTER_THRESHOLD 100 # ms latencies [] packet_loss 0 stutter_count 0 def ping_once(ip): try: result subprocess.run( [ping, -n, 1, -w, str(TIMEOUT), ip], capture_outputTrue, textTrue, encodinggbk, # 关键修复点Windows errorsignore ) output result.stdout # 判断是否成功关键 if TTL not in output and ttl not in output.lower(): return None # 兼容多种格式 # time1ms / time1ms / 时间1ms match re.search(r(?:time|时间)[]\s*(\d)\s*ms, output, re.IGNORECASE) if match: return int(match.group(1)) # 处理 time1ms 情况Windows 特殊 if time1ms in output or 时间1ms in output: return 1 return 0 # 有 TTL 但没解析到时间极低延迟 except Exception: return None print(fStart ping {TARGET_IP} x {PING_COUNT}...\n) start_time time.time() for i in range(PING_COUNT): latency ping_once(TARGET_IP) if latency is None: packet_loss 1 print(f[{i1}] Timeout) else: latencies.append(latency) if latency STUTTER_THRESHOLD: stutter_count 1 print(f[{i1}] {latency} ms) end_time time.time() # 统计 total_sent PING_COUNT total_received len(latencies) loss_rate (packet_loss / total_sent) * 100 avg_latency sum(latencies) / len(latencies) if latencies else 0 max_latency max(latencies) if latencies else 0 min_latency min(latencies) if latencies else 0 stutter_rate (stutter_count / total_sent) * 100 result { target_ip: TARGET_IP, total_sent: total_sent, total_received: total_received, packet_loss: packet_loss, packet_loss_rate (%): round(loss_rate, 2), latency: { avg_ms: round(avg_latency, 2), max_ms: max_latency, min_ms: min_latency }, stutter: { threshold_ms: STUTTER_THRESHOLD, count: stutter_count, rate (%): round(stutter_rate, 2) }, test_duration_sec: round(end_time - start_time, 2) } with open(ping_result.json, w, encodingutf-8) as f: json.dump(result, f, indent4, ensure_asciiFalse) print(\n 测试完成 ) print(json.dumps(result, indent4, ensure_asciiFalse)) print(\n结果已保存到 ping_result.json)运行此脚本代码可以自动ping1000次并保留json文件进行统计延迟率等信息

相关文章:

自动ping值脚本

import subprocess import time import json import reTARGET_IP "改成设备ip" PING_COUNT 1000 TIMEOUT 1000 # ms STUTTER_THRESHOLD 100 # mslatencies [] packet_loss 0 stutter_count 0def ping_once(ip):try:result subprocess.run(["ping"…...

基于海外数据本地化政策的边缘计算网关脱敏架构与Python实战

摘要: 随着储能系统在全球范围的大规模部署,海外监管机构对工业互联网接入层的数据出境合规与隐私审查愈发严厉。忽视边缘端的数据本地化处理不仅会导致并网测试挂科,更可能引发巨额罚款。本文从底层研发架构师视角出发,深度拆解符…...

别再死记硬背One-hot了!用Word2Vec实战NLP项目,5分钟搞懂词向量怎么用

实战Word2Vec:从数据预处理到模型部署的完整指南 在自然语言处理项目中,词向量技术早已从理论研究走向工业实践。许多开发者虽然了解Word2Vec的基本概念,却在真实项目中不知如何落地——数据该怎么清洗?参数该如何设置&#xff1f…...

ERPNext自动化部署:企业数字化转型的5分钟技术解决方案

ERPNext自动化部署:企业数字化转型的5分钟技术解决方案 【免费下载链接】erpnext_quick_install Unattended install script for ERPNext Versions, 13, 14 and 15 项目地址: https://gitcode.com/gh_mirrors/er/erpnext_quick_install ERPNext自动化安装脚本…...

Python 语言能做什么?一篇文章全面了解 Python 的应用场景

Python 语言能做什么?一篇文章全面了解 Python 的应用场景 很多初学者在学习 Python 之前,都会先问一个问题:Python 到底能用来做什么? 简单来说,Python 是一门通用型编程语言。它既适合编程入门,也能用于 …...

AXI4协议中的‘窄传输’:为什么你的Block Memory Generator IP可能没按预期工作?

AXI4协议中的‘窄传输’:为什么你的Block Memory Generator IP可能没按预期工作? 在FPGA系统设计中,AXI4总线协议因其高性能和灵活性已成为事实上的标准接口。但当开发者使用Vivado的Block Memory Generator(BMG)等IP…...

[具身智能-425]:Vibe Coding完全由 AI 驱动,开发者通过自然语言描述需求、感觉(Vibe)和业务逻辑,让 AI 负责具体的代码实现、调试和优化。

Vibe Coding(氛围编程)是2025年至2026年间席卷全球软件开发领域的一种全新编程范式。它标志着程序员的角色正在从“代码编写者”向“意图架构师”发生根本性转变。 简单来说,Vibe Coding 就是完全由 AI 驱动,开发者通过自然语言描…...

信息管理毕业设计最全选题指导

0 选题推荐 - 云计算篇 毕业设计是大家学习生涯的最重要的里程碑,它不仅是对四年所学知识的综合运用,更是展示个人技术能力和创新思维的重要过程。选择一个合适的毕业设计题目至关重要,它应该既能体现你的专业能力,又能满足实际应…...

Python开发岗转Agent开发岗学习路线

Python开发岗转Agent开发岗学习路线 前言 从Python开发岗转型到AI Agent开发岗是顺应2026年技术趋势的明智选择。您的Python基础和后端工程经验是宝贵的财富,转型并非从零开始,而是能力的升级和拓展。 转型学习路线图 阶段一:基础认知与核心框…...

Synopsys DesignWare APB GPIO (DW_apb_gpio) 模块寄存器详解

以下是针对 Synopsys DesignWare APB GPIO (DW_apb_gpio) 模块寄存器的超详细技术说明,附带完整的裸机驱动代码示例。内容涵盖所有标准寄存器、中断与去抖动逻辑(仅端口A)、以及实战操作流程。一、模块概述DW_apb_gpio 是一个通过 APB 总线访…...

20260422-《我在100天内自学英文翻转人生》

设立一个渴望达成的目标:请定下一个你急欲实现的目标。一定要是你真心渴望达成的目标,越具体越好。,若能让你在短时间内确认达成的进度,就再好不过了。挑选自己细化的影片,看电影时,我经常把自己当成男主角…...

2026年污水处理用聚丙烯酰胺:权威定义与横向数据解析

2026年,当我们深入探讨污水处理,聚丙烯酰胺作为絮凝剂的选择已不再是简单的品牌采购。笔者发现,行业焦点正从模糊的厂家宣传转向清晰的参数对标与性能评估。这种转变背后,是用户对处理效率、成本控制及长期稳定性的更高追求。因此…...

SpaceX拟600亿美元收购Cursor,上市前AI业务扩张能否破亏损困局?

SpaceX 600亿美元收购选择权:AI业务扩张野心周二,SpaceX宣布与人工智能初创公司Cursor达成协议,获得在今年晚些时候以600亿美元收购该公司的选择权,或者以100亿美元收购双方正在合作的项目。SpaceX在X上表示,正与Curso…...

Prefix.dev官宣:Pixi原生支持RISC-V架构,openKylin社区成背后核心贡献者

【导语:近日,Prefix.dev官宣下一代跨平台包管理器Pixi原生支持RISC-V架构,国际Pixi官方点名认可openKylin社区贡献,其为Pixi落地RISC-V奠定基础,双方合作将推动RISC-V开发生态发展。】跨平台包管理器支持RISC-V架构近日…...

2026年大模型开启涨价模式,从价格战到价值战,竞争焦点转向了哪里?

大模型告别低价时代,国产定价看齐海外迈入2026年,大模型毫不掩饰地开启了涨价模式,智普甚至在短短三个月内两次提价,国产大模型定价首次与海外头部厂商对齐。曾几何时,降价才是大模型的竞争基调,为了AI普惠…...

南洋理工大学MonoArt:单图生成可动3D模型,推理效率远超同行!

南洋理工大学提出MonoArt:单图生成可动3D模型南洋理工大学团队提出MonoArt,通过逐步推理实现从单图生成可动3D模型。该方法先恢复几何结构,再识别部件,最后推断运动方式与参数,无需外部数据或先验,就能构建…...

保姆级教程:在安富莱STM32-V7开发板上跑通RT-Thread(基于STM32H743)

保姆级教程:在安富莱STM32-V7开发板上跑通RT-Thread(基于STM32H743) 第一次接触RT-Thread和STM32H743时,面对复杂的开发环境和陌生的工具链,很多开发者都会感到无从下手。本文将带你从零开始,一步步完成开发…...

普通人也能成为音频魔法师?揭秘Audacity的OpenVINO AI插件如何让音频编辑变得智能

普通人也能成为音频魔法师?揭秘Audacity的OpenVINO AI插件如何让音频编辑变得智能 【免费下载链接】openvino-plugins-ai-audacity A set of AI-enabled effects, generators, and analyzers for Audacity. 项目地址: https://gitcode.com/gh_mirrors/op/openvino…...

从录制到集成:用Playwright + Robot Framework + Jenkins搭建UI自动化流水线

从录制到集成:用Playwright Robot Framework Jenkins搭建UI自动化流水线 在数字化转型浪潮中,UI自动化测试已成为保障产品质量的关键环节。本文将带你从零构建一个完整的自动化测试流水线,覆盖脚本录制、框架集成到CI/CD落地的全流程。不同…...

STM32F407驱动0.96寸OLED屏幕:从IIC时序到显示字符的完整避坑指南

STM32F407驱动0.96寸OLED屏幕:从IIC时序到显示字符的完整避坑指南 第一次点亮OLED屏幕时,那种看到字符清晰显示的成就感,是每个嵌入式开发者都难忘的体验。但在这之前,你可能需要经历IIC时序调试的煎熬、初始化命令的困惑&#xf…...

HoRain云--VS Code 中使用 Jupyter Notebook

🎬 HoRain云小助手:个人主页 🔥 个人专栏: 《Linux 系列教程》《c语言教程》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!…...

零基础到量化交易专家:QuantConnect教程库的完整学习路径指南

零基础到量化交易专家:QuantConnect教程库的完整学习路径指南 【免费下载链接】Tutorials Jupyter notebook tutorials from QuantConnect website for Python, Finance and LEAN. 项目地址: https://gitcode.com/gh_mirrors/tutorials2/Tutorials 想要从金融…...

从社交网络到推荐系统:图解那些藏在身边的图论应用(非技术小白也能懂)

从社交网络到推荐系统:图解那些藏在身边的图论应用 每天早晨打开手机,微信好友列表里的红点提醒、抖音"可能认识的人"推荐、美团外卖的骑手路径规划——这些看似平常的功能背后,都藏着一门古老的数学分支:图论。它用点和…...

【DeepSeek】SMC 调用约定

SMC 调用遵循 ARM SMC Calling Convention (SMCCC) 规范(文档编号:ARM DEN 0028)。 这是一套标准化的“握手协议”,规定了非安全世界(EL1/EL2)如何向安全监控器(EL3)传递请求&#x…...

视频资源批量下载终极指南:3步掌握全平台内容获取

视频资源批量下载终极指南:3步掌握全平台内容获取 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否曾为无法…...

PICO4系统升级到5.7.1后,MRTK3手部模型异常?手把手教你修复关节翻转与射线问题

PICO4系统升级5.7.1后MRTK3手部模型异常修复指南 当PICO4设备系统升级到5.7.1版本后,许多开发者在使用MRTK3进行混合现实开发时遇到了手部模型异常的问题。这些问题包括手部模型位置翻转、关节扭曲以及左手射线方向错误等。本文将深入分析问题根源,并提供…...

OpenCore-Configurator:如何通过图形化界面解决黑苹果配置的三大核心难题

OpenCore-Configurator:如何通过图形化界面解决黑苹果配置的三大核心难题 【免费下载链接】OpenCore-Configurator A configurator for the OpenCore Bootloader 项目地址: https://gitcode.com/gh_mirrors/op/OpenCore-Configurator OpenCore-Configurator&…...

【生产环境紧急响应】:Docker镜像运行时异常的7种高危信号与秒级诊断流程

第一章:Docker镜像运行时异常的紧急响应概览当Docker容器在生产环境中突然退出、卡死或返回非预期状态码时,快速定位根本原因并恢复服务是SRE与运维工程师的核心能力。本章聚焦于镜像运行时异常(如启动失败、崩溃重启、健康检查失败等&#x…...

如何在OBS Studio中构建专业级NDI网络视频传输系统:DistroAV终极配置指南

如何在OBS Studio中构建专业级NDI网络视频传输系统:DistroAV终极配置指南 【免费下载链接】obs-ndi DistroAV (formerly OBS-NDI): NDI integration for OBS Studio 项目地址: https://gitcode.com/gh_mirrors/ob/obs-ndi 在当今专业视频制作和直播领域&…...

C++内存资源及管理

内存被分成五个区:栈、堆、静态存储区、常量区、代码区。C 的内存管理是其最强大但也最复杂的特性之一。它赋予了程序员对硬件的极致控制权,但也要求程序员承担起精确管理的责任。现代 C 的内存管理哲学已经从手动管理转向了自动化和智能化,核…...