python 判断某IP是否ping通 成功则返回1 失败返回0
利用ping命令的返回信息差异,以及re正则采集的策略 计算是否ping通
代码如下
import subprocess
import re
def ping_server(server_ip):
try:
output = subprocess.check_output(['ping', '-i', '4', server_ip])
#return output.decode('ansi')
result =output.decode('ansi')
#return result
match =re.findall(r'Average = \d',result)
if match:
return 1
else:
return 0
except subprocess.CalledProcessError as e:
#return e.output.decode('ansi')
return 0
server_ip = '192.168.0.17'
result = ping_server(server_ip)
print(result)