python

Python ping命令超时处理办法

小樊
83
2024-12-07 13:28:40
栏目: 编程语言

在Python中,你可以使用ping3库来实现ping命令的超时处理

pip install ping3

然后,你可以使用以下代码实现ping命令的超时处理:

from ping3 import ping, exceptions
import time

def ping_host(host, timeout=1):
    try:
        response_time = ping(host, timeout)
        if response_time is not None:
            print(f"{host}{response_time} 毫秒内响应")
        else:
            print(f"{host} 无响应")
    except exceptions.Timeout as e:
        print(f"{host} 请求超时: {e}")

if __name__ == "__main__":
    host = "example.com"  # 你可以替换成你想要ping的主机地址
    while True:
        ping_host(host, timeout=1)
        time.sleep(5)  # 每5秒ping一次

在这个示例中,我们定义了一个名为ping_host的函数,它接受一个主机名和一个超时值(默认为1秒)。我们使用ping3库的ping函数来发送ping请求,并设置超时。如果请求成功,我们打印响应时间;如果请求超时,我们捕获exceptions.Timeout异常并打印错误信息。

__main__部分,我们使用一个无限循环来定期ping主机,并在每次请求之间等待5秒。你可以根据需要修改这个示例,以适应你的具体需求。

0
看了该问题的人还看了