Различные способы приостановить или отложить выполнение в Python

Чтобы приостановить или отложить выполнение программы на Python, вы можете использовать функцию sleep()из модуля time. Функция sleep()позволяет вам ввести заданную задержку в секундах. Вот пример того, как его использовать:

import time
# Delay execution for 5 seconds
time.sleep(5)
# Program resumes after 5 seconds
print("Program resumed")

Этот код приостанавливает выполнение программы на 5 секунд, а затем после задержки печатает «Программа возобновлена».

Помимо функции sleep(), есть еще несколько методов, которые можно использовать для введения задержек в Python:

  1. Ожидание занятости: можно реализовать цикл ожидания занятости, который непрерывно потребляет циклы ЦП до тех пор, пока не будет выполнено определенное условие. Хотя этот метод не рекомендуется использовать при длительных задержках, в определенных сценариях он может быть полезен.
import time
# Delay execution for 5 seconds using busy waiting
start_time = time.time()
while time.time() - start_time < 5:
    pass
# Program resumes after 5 seconds
print("Program resumed")
  1. Объекты таймера: модуль threadingпредоставляет класс Timer, который позволяет запланировать запуск функции после указанной задержки.
import threading
# Define a function to be executed after 5 seconds
def my_function():
    print("Program resumed")
# Create a timer object with a 5-second delay
timer = threading.Timer(5, my_function)
# Start the timer
timer.start()
# Program continues executing while the timer is running
# ...
# Wait for the timer to finish (optional)
timer.join()
  1. Асинхронное программирование. Если вы работаете с асинхронным кодом, используя такие библиотеки, как asyncio, вы можете ввести задержки с помощью функции asyncio.sleep(). Это позволяет приостановить выполнение определенных сопрограмм или задач, пока продолжаются другие операции.
import asyncio
# Define an asynchronous function
async def my_function():
    await asyncio.sleep(5)
    print("Program resumed")
# Create an event loop
loop = asyncio.get_event_loop()
# Run the asynchronous function
loop.run_until_complete(my_function())