我想要的是能够每秒运行一个函数,与函数需要多长时间无关(它应该总是在一秒钟以下)。我考虑了许多选项,但不确定哪个是最好的。
如果我只使用延迟函数,它不会考虑函数运行所需的时间。
如果我对函数计时,然后从一秒中减去它并在延迟中弥补其余部分,则不会考虑时间计算。
我尝试使用 threading.timer(我不确定它的工作原理),但它似乎确实比 1s 慢。
这是我尝试测试 threading.timer 的代码:
def update(i):
sys.stdout.write(str(i)+'\r')
sys.stdout.flush()
print i
i += 1
threading.Timer(1, update, [i]).start()
有没有办法做到这一点与函数花费的时间长度无关?