温馨提示×

Python ping命令超时处理办法

小樊
84
2024-12-07 13:28:40
栏目: 编程语言
Python开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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秒。你可以根据需要修改这个示例,以适应你的具体需求。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:Python ping命令性能优化建议

0