在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结果的字符串表示;如果请求超时或失败,函数将返回相应的错误信息。