Вам понадобится datetime
и особенно timedelta
: http://docs.python.org/library/datetime.html
Например:
import time
from datetime import datetime, timedelta
import random
MAX_DURATION = timedelta(seconds=60)
start = datetime.now()
while 1:
time.sleep(random.random())
now = datetime.now()
if now - start > MAX_DURATION:
break
(конечно, в этом очень простом случае может быть лучшепросто использовать time.time()
(который возвращает отметку времени ), а затем сравнить это с количеством секунд (например, time.time() - start > MAX_SECONDS
) ... Но именно так вы бы сделали это в «полностью общем»способ)