0

我想编写一个 python 函数,当被调用时应该只在一段时间内执行一些任务。

例如,当调用此函数时,它应该轮询服务器 10 秒,然后在 10 秒后退出。

我想过这样做,但似乎不合适。显然,这个功能需要 10 多秒才能完成这项工作。

for i in range (0, 10):    # 10 seconds
    poll_to_server()
    time.sleep(1)

你能建议一个更好的方法来做到这一点吗?

4

1 回答 1

1

如果你想poll_to_server()重复调用该函数 10 秒,那么你可以这样做

import time

t_end = time.time() + 10

while time.time() < t_end:
    poll_to_server()

函数time.time返回自 1970 年 1 月 1 日以来的当前时间(以秒为单位)。该值是浮点数,因此您甚至可以以亚秒级精度使用它。一开始,该值t_end被计算为“现在”+ 10 秒。

循环将一直运行,直到当前时间超过这个预设的结束时间。

于 2018-10-24T06:46:37.840 回答