【问题标题】:Pinging Ip's and returning up/down status AND latencyping Ip 并返回上/下状态和延迟
【发布时间】:2017-08-14 20:04:35
【问题描述】:

我正在使用 python,我正在使用这样的方法

def ping(host):
# Ping parameters as function of OS
parameters = "-n 1" if system_name().lower()=="windows" else "-c 1"

# Pinging
return system_call("ping " + parameters + " " + host) == 0

获取我正在 ping 的 ip 列表的向上/向下状态。有没有办法从中提取延迟?

运行此代码时我的输出看起来类似于

Ping statistics for x.x.x.x:
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 50ms, Maximum = 50ms, Average = 50ms
x.x.x.x is down

我想说 x.x.x.x 已关闭,延迟 = 50 毫秒。有没有一种我忽略的简单方法?

【问题讨论】:

  • 您必须解析system_call 的输出。那是什么功能?你定义了吗?
  • from os import system as system_call
  • 我希望我不必解析输出。哦好吧哈哈。

标签: python ip ping


【解决方案1】:

您可能需要使用subprocess。来自os.system 上的文档:

sys.stdin 等的更改不会反映在执行命令的环境中。如果命令产生任何输出,它将被发送到解释器标准输出流。

子流程会更容易。

【讨论】:

  • 我会做一些研究
猜你喜欢
  • 2014-06-09
  • 2021-11-09
  • 2015-05-19
  • 1970-01-01
  • 2018-07-08
  • 2012-03-27
  • 2011-11-19
  • 1970-01-01
  • 2010-10-20
相关资源
最近更新 更多