在Python中,你可以使用subprocess
模块来执行系统命令,包括ping
命令
import subprocess
def ping(host, timeout=2, count=4):
# 构建ping命令
command = ['ping', '-c', str(count), host]
try:
# 执行ping命令
output = subprocess.check_output(command, stderr=subprocess.STDOUT, timeout=timeout)
# 将输出转换为字符串并返回
return output.decode('utf-8')
except subprocess.TimeoutExpired:
return "请求超时"
except subprocess.CalledProcessError as e:
return f"请求失败,错误代码:{e.returncode}\n错误信息:{e.output.decode('utf-8')}"
# 使用示例
host = "www.example.com"
result = ping(host)
print(result)
这个示例中的ping
函数接受一个主机名(或IP地址)作为参数,以及可选的超时(默认为2秒)和ping次数(默认为4次)。函数使用subprocess.check_output()
执行ping
命令,并捕获输出。如果请求成功,函数将返回ping结果的字符串表示;如果请求超时或失败,函数将返回相应的错误信息。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:android ping命令怎样排查网络