Использование sleep () для создания функции, которая последовательно выполняет цикл каждую секунду

У меня есть программа, которую нужно выполнять каждую секунду. Однако я обеспокоен тем, что код, в свою очередь, добавит небольшую задержку, что приведет к задержке немного дольше, чем предполагалось. Образец кода:

while True:
    print(time)
    sleep(1)

В моем случае я буду добавлять более сложные вызовы функций в этот цикл и опасаюсь, что они испортят мой таймер. Стоит ли мне вообще беспокоиться, и есть ли другой способ, чтобы эта функция повторялась каждую секунду?

Вы можете использовать такую ​​библиотеку, как расписание.

user9455968 02.05.2018 11:19
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
1
64
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 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()

Это сработало для меня

Sumtinlazy 02.05.2018 11:56

Другие вопросы по теме