Как сделать что бы программа выполнялась определенное время

Например, у меня есть цикл:

while True:
    print(1)

Как я могу сделать, чтобы он выполнялся 30 секунд, а после 30 секунд он останавливался, и запускался другой цикл?


Ответы (3 шт):

Автор решения: Victor VosMottor thanks Monica
import time
howLongToRun = 30 #30 seconds
timeout = time.time() + howLongToRun 
while True:
    print(1)
    if time.time() > timeout:
        break
# you other loop:
...
→ Ссылка
Автор решения: Victor VosMottor thanks Monica

pip3 install interruptingcow (thanks @вася)

from interruptingcow import timeout

try:
    with timeout(30, exception=RuntimeError):
        while True:
            print(1)
except RuntimeError:
    pass
→ Ссылка
Автор решения: endlish emmet

Можно с модулем time:

from time import sleep

while True:
    print(1);
    sleep(30); #30 секунд

sleep - замораживает программу на 30 секунд.

→ Ссылка