首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python等待100秒并返回True或False

Python等待100秒并返回True或False
EN

Stack Overflow用户
提问于 2018-09-21 19:25:27
回答 1查看 222关注 0票数 2

我有下面的python脚本,它检查ping是否成功,如果在100秒内成功,它将返回True。如果ping失败,它应该返回False,但不返回False,当ping成功时,它返回True。

有人能修复下面代码为什么它不返回False吗?

代码:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2018-09-21 19:27:04

下面的代码将为您工作:

代码语言:javascript
复制
import time

def ping(self, hostname, try_for=100):
    t_end = time.time() + try_for
    is_succeed = False
    while time.time() < t_end or is_succeed:
        time.sleep(1)
        data = self.pingCheck("ping 10.10.10.1 count 5")
        is_succeed = "Success" in data
    return is_succeed

我已经将等待时间定义为名为try_for的参数,其默认值设置为100,但您可以传递等待主机可用性所需的任何其他秒数。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52442723

复制
相关文章

相似问题

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