секундомер таймер для моделирования - PullRequest
0 голосов
/ 09 июля 2020

Я хочу установить начальное время в ноль (0 секунд) и сделать что-то до конца продолжительности времени выполнения (скажем, 3600 секунд)

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

Например,

start = 0
run_time = 3600
timer = 0
while timer <= run_time:
    print(timer)
    # do other stuff

Ответы [ 3 ]

0 голосов
/ 09 июля 2020

Вы можете просто использовать datetime module:

import datetime as dt

start = dt.datetime.now()
run_time = dt.timedelta(seconds=3600)

while dt.datetime.now() <= start + run_time:
   ....
   ....
0 голосов
/ 09 июля 2020

Я понимаю, что вы имеете в виду, вы можете использовать потоки для выполнения sh этого

from threading import Thread
from time import sleep

run_time = 10 #seconds

def WhateverYourDoing():
    while run:
        print("Look, I'm doing stuff!")
        sleep(1)

sim = Thread(target=WhateverYourDoing)

for x in range(3, 0, -1):
    print(x)
    sleep(1)
print("Go!")
run = True
sim.start()
sleep(run_time)
run = False
print("DONE")
0 голосов
/ 09 июля 2020

Попробуйте следующее:

from time import time

print("Stopwatch running..")
t0 = time()
watch = 0

while watch-t0 < 3:
    watch = time()
    # Your Code

print(" Finished!\n Time =",watch - t0)
...