首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中从ping中提取丢包数据

在python中从ping中提取丢包数据
EN

Stack Overflow用户
提问于 2018-02-23 10:56:55
回答 1查看 3.7K关注 0票数 1

我正在尝试从ping统计中获取丢包数据。到目前为止,我有大量的ping统计数据。我只需要丢包数据,以便在我的python代码中执行if packetloss < 10%: do something。这是我的密码:

代码语言:javascript
复制
import subprocess
from subprocess import Popen, PIPE

hostname = "8.8.8.8"
process = subprocess.Popen(['ping','-c','5',hostname],
stdout=PIPE, stderr=PIPE)
stdout, stderr = process.communicate()
print(stdout)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-23 11:24:57

样本数据:

代码语言:javascript
复制
$ ping -c 5 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=59 time=7.250 ms
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
64 bytes from 8.8.8.8: icmp_seq=3 ttl=59 time=19.661 ms

--- 8.8.8.8 ping statistics ---
5 packets transmitted, 2 packets received, 60.0% packet loss
round-trip min/avg/max/stddev = 7.250/13.456/19.661/6.205 ms

尝试以下几个方面:

代码语言:javascript
复制
packetloss = float([x for x in stdout.decode('utf-8').split('\n') if x.find('packet loss') != -1][0].split('%')[0].split(' ')[-1])
if loss < 10.0:
    print("Loss is %s percent" % packetloss)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48946234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档