【发布时间】:2019-02-25 19:18:15
【问题描述】:
我下面有python脚本,它检查ping是否成功,如果在100秒内成功,它将返回True。如果 ping 失败,它应该返回 False,但它不会返回 False,当 ping 成功时,它会返回 True。
任何人都可以修复下面的代码为什么它不返回 False
代码:
def ping(self,hostname):
time_check = datetime.now()
data = ""
while not "Success" in data:
time.sleep(1)
data = self.pingCheck("ping 10.10.10.1 count 5")
if (datetime.now()-time_check).seconds > 100:
return False
return True
【问题讨论】:
-
检查
.total_seconds而不是.seconds。意义不同 -
似乎对我有用。您确定
self.pingCheck("ping 10.10.10.1 count 5")没有返回包含"Success"的内容吗? -
你能把pingCheck的代码也贴出来吗?
-
对不起大家,这是我的错误 pingCheck 是多了一个计时器,它确实 sys.exit()..我可以删除这篇文章
-
你真的应该。像这样的屏幕外错误对未来的读者来说并没有真正的用处。
标签: python python-2.7 function while-loop