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

如何提取ping命令返回结果中的平均往返毫秒时间?

提取平均Ping时间的实现方案

直接通过字节流解码+正则匹配就能精准提取平均Ping时间,以下是完整可运行的代码示例:

import subprocess
import re

# 执行ping命令
result = subprocess.run(['ping', '8.8.8.8'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)

# 先确认ping命令执行成功
if result.returncode == 0:
    # 将字节类型的stdout解码为字符串(Windows用gbk,Linux/macOS用utf-8)
    stdout_content = result.stdout.decode('gbk')
    # 正则匹配"Average = Xms"格式,捕获数字部分
    avg_match = re.search(r'Average = (\d+)ms', stdout_content)
    if avg_match:
        average_ping = avg_match.group(1)
        print(f"平均Ping时间:{average_ping}ms")
    else:
        print("未找到平均Ping时间")
else:
    print(f"Ping执行失败:{result.stderr.decode('gbk')}")

核心逻辑说明:

  1. 字节流解码:subprocess返回的stdout是字节对象(b'...'),必须解码为字符串才能处理。注意Windows系统的ping输出默认用GBK编码,其他系统用UTF-8,按需调整。
  2. 正则精准匹配:用re.search锁定Average = (\d+)ms模式,其中(\d+)是捕获组,专门提取数字部分——不管输出里的换行、空格怎么变,只要格式符合就能拿到结果,比字符串分割更可靠。
  3. 执行状态校验:先检查returncode是否为0,确保ping命令成功执行后再处理结果,避免失败场景下的无效解析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 11:37:08