如果我这样做:
def my_api_query():
pass
while True:
my_api_query()
time.sleep(5)
这类似于 my_api_query()
的执行时间加上 5 秒,这比 5 秒长。
我希望每 5 秒执行一次迭代。
如何在 Python 3 中实现它?
答案 0 :(得分:0)
我想我找到了一个解决方案,需要测试一下,欢迎提供任何其他建议:
import threading
def my_api_query():
threading.Timer(5.0, my_api_query).start()
some code
my_api_query()
答案 1 :(得分:0)
另一种解决方案非常笨拙,但应该有效
import time
nexttime = time.time()
while True:
my_api_query() # take t sec
nexttime += 10
sleeptime = nexttime - time.time()
if sleeptime > 0:
time.sleep(sleeptime)