Как реализовать эквивалент setInterval в Python с использованием модулей Threading и Sched

Эквивалент функции setIntervalв Python обычно достигается с помощью модуля threadingили модуля sched, в зависимости от ваших конкретных требований. Вот несколько методов, которые вы можете использовать:

  1. Модуль потоков:

    import threading
    import time
    def interval_function():
       # Code to be executed repeatedly
       print("Interval function called")
    def set_interval(func, interval):
       stopped = threading.Event()
       def loop():
           while not stopped.wait(interval):
               func()
       thread = threading.Thread(target=loop)
       thread.start()
       return stopped
    # Usage:
    stop_event = set_interval(interval_function, 5)  # Call interval_function every 5 seconds
    time.sleep(20)  # Let it run for 20 seconds
    stop_event.set()  # Stop the interval execution
  2. Модуль планирования:

    import sched
    import time
    def interval_function():
       # Code to be executed repeatedly
       print("Interval function called")
       scheduler.enter(interval, 1, interval_function, ())
    # Usage:
    interval = 5  # Interval in seconds
    scheduler = sched.scheduler(time.time, time.sleep)
    scheduler.enter(interval, 1, interval_function, ())
    scheduler.run()

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