我正在尝试编写一个脚本来打印ping检查到浏览器5 ping .
这个脚本:
from bottle import route, run, template
import subprocess
@route('/pings/<ip>')
def ping(ip):
param = '-c 1'
command = ['ping', param, ip]
num = 0
while (num < 6):
return subprocess.check_output(command)
num += 1
run(host='0.0.0.0', port=8080)
目前输出到浏览器如下:
PING 8.8.8.8(8.8.8.8)56(84)字节的数据 . 来自8.8.8.8的64字节:icmp_seq = 1 ttl = 54时间= 17.7 ms --- 8.8.8.8 ping统计数据--- 1个数据包发送,1个接收,0%数据包丢失,时间0ms rtt min / avg / max / mdev = 17.756 / 17.756 / 17.756 / 0.000毫秒
但它没有像我期望的那样打印5个ping . 它只打印出一个ping,是出于某种原因只打印出最后一个?如果从shell命令运行它,我怎么能打印5个ping .
谢谢 .
1 回答
循环只运行一次因为
return
在循环的第一次迭代期间执行,因此您只获得第一个结果 . 您可以获取ping结果并将其附加到列表中,然后一旦循环完成,您就可以返回该列表 .