以下是一个使用Python的示例代码,可以用于捕获和计算平均ping时间:
import subprocess
import re
def ping(host):
ping_cmd = subprocess.Popen(["ping", "-c", "5", host], stdout=subprocess.PIPE)
output = ping_cmd.communicate()[0].decode('utf-8')
ping_time_list = re.findall(r"time=(\d+)", output)
ping_time_list = [int(time) for time in ping_time_list]
return ping_time_list
def calculate_average_ping_time(ping_time_list):
if len(ping_time_list) > 0:
average_ping_time = sum(ping_time_list) / len(ping_time_list)
return average_ping_time
else:
return None
host = "example.com"
ping_time_list = ping(host)
average_ping_time = calculate_average_ping_time(ping_time_list)
if average_ping_time:
print(f"Average ping time for {host}: {average_ping_time} ms")
else:
print("Ping failed")
在这个示例中,ping
函数使用subprocess
模块来执行ping命令,并使用正则表达式从输出中提取ping时间。calculate_average_ping_time
函数接受ping时间列表,并返回平均ping时间。最后,我们使用给定的主机进行ping测试,并打印出平均ping时间。
请注意,这个示例仅适用于Linux/macOS系统,因为它使用了ping
命令。如果你想在Windows系统上运行,可以使用ping
命令的Windows版本或者使用第三方库来实现ping功能。
上一篇:捕获和抛出自定义异常