You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何执行Ping操作并获取平均延迟速度

实现Ping平均延迟获取的方案

1. 安装依赖库

使用你提到的pythonping库实现,无需手动解析系统ping命令的输出,可直接获取延迟数值,执行以下命令安装:

pip install pythonping

2. 完整修改后的代码

import time, requests
from pythonping import ping

url = 'WEBHOOK URL'
hostname = "google.com"
# 配置ping的次数,次数越多平均延迟统计结果越准确,这里设为4次
ping_count = 4

while True:
    try:
        # 执行ping操作,超时时间设为2秒
        ping_result = ping(hostname, count=ping_count, timeout=2)
        if ping_result.success():
            # 直接获取平均延迟,单位为毫秒
            avg_latency = ping_result.rtt_avg_ms
            print(f"{hostname} is online! Average = {avg_latency}ms")
            data = {
                "content" : "Message content",
                "username" : "Author name"
            }
            data["embeds"] = [
                {
                    "description" : f"Google is online,平均延迟:{avg_latency}ms",
                    "title" : "TITLE EMBEDS"
                }
            ]
            requests.post(url, json = data)
        else:
            print(f"{hostname} is down!")
            data = {
                "content" : "Message content",
                "username" : "Author name"
            }
            data["embeds"] = [
                {
                    "description" : "Google is offline",
                    "title" : "TITLE EMBEDS"
                }
            ]
            requests.post(url, json = data)
    except Exception as e:
        print(f"检测出错:{str(e)}")
    # 无论检测结果如何,统一等待900秒后重试
    time.sleep(900)

关键说明

  • pythonping的ping方法返回结果中,rtt_avg_ms属性直接返回多次ping的平均往返延迟,单位为毫秒,无需手动计算
  • 你可以调整ping_count参数的数值,设置为1就是单次ping的延迟,数值越大统计的平均延迟越稳定
  • 代码已顺手修正原有拼写错误:onligne/offligne/TITTLE
  • 如果你不想使用第三方库,也可以改用os.popen读取系统ping命令的输出内容,再用正则提取延迟数值,但不同系统的ping输出格式不同,适配成本较高,使用pythonping可以直接规避跨平台兼容问题

内容的提问来源于stack exchange,提问作者Akyna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 20:18:03