Чтобы приостановить или отложить выполнение программы на 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:
- Ожидание занятости: можно реализовать цикл ожидания занятости, который непрерывно потребляет циклы ЦП до тех пор, пока не будет выполнено определенное условие. Хотя этот метод не рекомендуется использовать при длительных задержках, в определенных сценариях он может быть полезен.
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")
- Объекты таймера: модуль
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()
- Асинхронное программирование. Если вы работаете с асинхронным кодом, используя такие библиотеки, как
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())