У меня есть программа, которую нужно выполнять каждую секунду. Однако я обеспокоен тем, что код, в свою очередь, добавит небольшую задержку, что приведет к задержке немного дольше, чем предполагалось. Образец кода:
while True:
print(time)
sleep(1)
В моем случае я буду добавлять более сложные вызовы функций в этот цикл и опасаюсь, что они испортят мой таймер. Стоит ли мне вообще беспокоиться, и есть ли другой способ, чтобы эта функция повторялась каждую секунду?
Вы можете использовать это:
import threading
def scheduleFunc():
threading.Timer(1.0, scheduleFunc).start()
print(time)
Или используйте это:
import sched, time
scheduled = sched.scheduler(time.time, time.sleep)
def scheduleFunc(sc):
print(time)
scheduled.enter(60, 1, scheduleFunc, (sc,))
scheduled.enter(60, 1, scheduleFunc, (scheduled,))
scheduled.run()
Это сработало для меня
Вы можете использовать такую библиотеку, как расписание.