从 python 中的 ping 命令输出中提取平均时间

Extract Average time from output of ping command in python

如何从 python 中的 ping 命令输出中提取平均时间。这是 ping 的输出:

rtt min/avg/max/mdev = 31.907/37.303/51.442/8.194 ms

好吧,如果每次输出都相同,您可以做一些事情。您可以通过执行以下操作删除第一位信息 "rtt min/avg/max/mdev = "。

>>> yourString[23:]

其中 23 是您要在前面截去的字符数。

然后对最后的ms做同样的事情

>>> yourString[:-3]

其中 3 是您要删除的号码。

最后你可以 运行 对对象进行分解以获得平均值,用“/”分割

>>>youString.split('/')

然后你可以在你的字符串中获取第二个值,你将得到你的平均值。

Calvin 关于使用 split 的建议可能最适合这种情况。但对于一般情况,熟悉正则表达式和 python 实现,re 模块 - https://docs.python.org/3.4/library/re.html。使用它们,您可以编写一个规则来匹配您要提取的行的确切部分。我将把编写模式作为练习留给您,但完成后您可以实现以下目标:

>>> re.findall(pattern, "rtt min/avg/max/mdev = 31.907/37.303/51.442/8.194 ms")
['37.303']