Python循环运行一定的秒数

oam*_*811 33 python time timer while-loop

我有一个while循环,我希望它能持续运行15分钟.它目前是:

while True:
    #blah blah blah
Run Code Online (Sandbox Code Playgroud)

(这会运行,然后重新启动.我需要它继续执行此操作,除非它退出循环15分钟后)

谢谢!

DrV*_*DrV 78

试试这个:

import time

t_end = time.time() + 60 * 15
while time.time() < t_end:
    # do whatever you do
Run Code Online (Sandbox Code Playgroud)

这将持续15分钟x 60秒= 900秒.

函数time.time返回自1970年1月1日以来的当前时间(以秒为单位).该值为浮点数,因此您甚至可以使用亚秒精度.在开始时,值t_end计算为"现在"+ 15分钟.循环将一直运行,直到当前时间超过此预设结束时间.

  • @ oam811:在Python 3上使用`time.monotonic()`,以避免因机器时钟调整而导致的意外延迟(`time.time()`可以设置回来). (3认同)

Ell*_*sch 6

如果我了解您,可以通过datetime.timedelta -

import datetime

endTime = datetime.datetime.now() + datetime.timedelta(minutes=15)
while True:
  if datetime.datetime.now() >= endTime:
    break
  # Blah
  # Blah
Run Code Online (Sandbox Code Playgroud)

  • 感谢它的工作,但是我使用DrV的答案只是因为它对我来说更有意义。 (2认同)