Как сделать выполнение функции по таймеру в Python?
Для выполнения функции по таймеру в Python можно использовать модуль threading
. Ниже приведен пример кода, демонстрирующий выполнение функции my_function
каждые 5 секунд:
import threading
import time
def my_function():
print("Function executed")
# Добавьте здесь код вашей функции
def periodic_execution():
while True:
my_function()
time.sleep(5) # Задержка в 5 секунд
# Создаем и запускаем поток
thread = threading.Thread(target=periodic_execution)
thread.daemon = True # Поток будет завершен, когда основной поток завершится
thread.start()
# Для примера, оставим основной поток живым
while True:
time.sleep(1)
В этом коде определена функция my_function
, которая будет выполняться каждые 5 секунд. Функция periodic_execution
запускает бесконечный цикл, в котором вызывается my_function
, а затем делается пауза на 5 секунд. Поток, в котором запускается periodic_execution
, запускается как демон, чтобы завершиться при завершении основного потока.
Вышеуказанный код представляет пример того, как можно организовать выполнение функции по таймеру в Python. Для более сложных вариантов использования таймеров и работы с потоками, также можно использовать другие методы и библиотеки, как, например, sched
или asyncio
.