gpt4 book ai didi

python - 对于 X 秒,每 Y 秒做一些 Action

转载 作者:太空宇宙 更新时间:2023-11-04 09:49:28 24 4
gpt4 key购买 nike

所以我偶然发现了一个几乎可以满足我的问题的答案。

在我的例子中,我想每 0.8 秒左右获取 5 秒的市场限价买单状态。我找到的代码如下所示:

import threading

def printit():
threading.Timer(0.8, printit).start()
print("Hello, World!")

要运行 5 秒,可以执行以下操作:

import time
t_end = time.time() + 5
while time.time() < t_end:
print('Hello World')

但是像这样结合这两者是行不通的:

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

所以我只是想知道如何让 printit() 每 0.8 秒运行一次并持续 5 秒?

最佳答案

这是您的线程代码的变体。使用线程的好处是整个程序不会被卡住,因此您可以(例如)在等待时从 URL 中获取一些数据,而不是进行获取- sleep 循环。

import threading
import time

def printit(interval, endtime):
now = time.time()
if now < endtime:
threading.Timer(interval, printit, args=[interval, endtime]).start()
print("Hello", now - t_start)

t_start = time.time()

printit(0.8, t_start + 5)

典型输出

Hello 4.458427429199219e-05
Hello 0.8010139465332031
Hello 1.6028234958648682
Hello 2.4049606323242188
Hello 3.205900192260742
Hello 4.0072197914123535
Hello 4.808593988418579

关于python - 对于 X 秒,每 Y 秒做一些 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48448453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com