import time time.sleep(secs)
secs
- float
время в секундах.Функция sleep()
модуля time
приостанавливает выполнение вызывающего потока на указанное количество секунд secs
. Аргумент secs
может быть числом с плавающей запятой, для указания более точного время приостановки.
Если спящий режим прерывается сигналом и обработчик сигнала не вызывает никаких исключений, то спящий режим перезапускается с повторно вычисляемым тайм-аутом.
Время приостановки может быть больше запрошенного на произвольную величину из-за планирования других действий в системе.
В Windows, если secs
равно нулю, то поток уступает оставшуюся часть своего кванта времени любому другому потоку, готовому к выполнению. Если других потоков, готовых к выполнению, нет, то функция немедленно прерывается, и поток продолжает выполнение. В Windows 8.1 и более поздних версиях используется таймер высокого разрешения, обеспечивающий разрешение 100 наносекунд. Если secs
равно нулю, используется системная (windows) функция Sleep(0)
.
Unix-реализация:
clock_nanosleep()
или nanosleep()
(в зависимости от реализации OS);select()
.Изменено в версии 3.11: В Unix теперь используются функции OS clock_nanosleep()
и nanosleep()
, если они доступны. В Windows теперь используется таймер ожидания.
>>> import time >>> t_start = time.monotonic() >>> time.sleep(3) >>> time.monotonic() - t_start # 3.0045800040024915