photo 1487300001871 12053913095d
Перевод статьи Python Sleep Function Usage от Aqsa Yasin.
Функция sleep() используется для задержки определённых процессов на указанное время (в секундах). В этой статье мы рассмотрим несколько примеров, которые позволят вам получше познакомиться с методом sleep() в Python.
Во-первых, чтобы запустить код, нам нужно добавить модуль time. Функция sleep() входит в этот модуль и принимает только один параметр – время в секундах, на которое остановится наша программа.
import time time.sleep(sec)
Чтобы понять смысл функции sleep(), разберём простой пример. Три строки выводятся в определённый промежуток времени – задержку обеспечивает sleep. Сперва выводится первая строка, затем идёт функция sleep(), которая задерживает вывод на 2 секунды. Точно так же для следующего print мы используем sleep на 5 секунд. Код выглядит следующим образом:
import time
print('Hello world')
time.sleep(2)
print('sleep python function')
time.sleep(5)
print('sleep function is working')
# Вывод
Hello world
sleep python function
sleep function is working
Process finished with exit code 0 В тексте этого не видно, но после запуска кода строки выводятся через указанные интервалы времени.
Рассмотрим пример использования sleep() для создания промежутка времени. Мы используем функцию time(), чтобы узнать текущее время, и localtime(), чтобы получить текущие дату и время в конкретной местности. Кроме того, есть функция strftime() («string from time»), которая возвращает время в виде строки в указанном формате.
import time
current = time.localtime(time.time())
print(time.strftime('Start time is: %H:%M:%S', current))
print('2 seconds wait')
time.sleep(2)
current = time.localtime(time.time())
print(time.strftime('Ending time is: %H:%M:%S', current))
# Вывод
Start time is: 14:54:35
2 seconds wait
Ending time is: 14:54:37
Process finished with exit code 0 В результате интервал между двумя моментами времени составил две секунды.
В этом скрипте мы создадим 7 временных отметок и добавим задержку на 2 секунды между каждыми двумя отметками. Первый шаг такой же, как прежде.
От предыдущего этот пример отличается тем, что мы создали временные отметки несколько раз с помощью цикла for. Цикл отработает 7 итераций. Опять же, мы использовали strftime(), чтобы получить время в виде строки, а sleep() — чтобы обеспечить задержку в 2 секунды между каждыми двумя отметками.
import time
for i in range(7):
currenttime = time.localtime()
timestamp = time.strftime('%H:%M:%S', currenttime)
time.sleep(2)
print(timestamp)
# Вывод
15:00:32
15:00:34
15:00:36
15:00:38
15:00:40
15:00:42
15:00:44
Process finished with exit code 0 Мы получили 7 временных отметок через каждые 2 секунды.
Применить функцию sleep() со строкой вам может понадобиться, если захотите вывести каждый символ строки с определённой задержкой. Реализовать это очень просто. Рассмотрим эту задачу в коде ниже.
В качестве строки возьмём слово. Переберем это слово в цикле for, а на каждой итерации поставим задержку в 4 секунды.
import time
string = 'Pythonist'
for i in string:
print(i)
time.sleep(2)
# Вывод
P
y
t
h
o
n
i
s
t
Process finished with exit code 0 В этой статье мы рассмотрели применение функции sleep() в различных ситуациях. Она помогает при решении различных задач, связанных со временем. Теперь вы можете добавлять задержки в свою программу, например, чтобы предотвратить неправильное использование системных ресурсов.
Если вы ищете работу на Python, на Talanto.work сейчас есть варианты для junior, middle, senior…
Рынок Python-вакансий большой, но удобным его назвать сложно. Формально вакансий много, однако в реальном поиске…
Срезы в Python — это больше, чем a[2:7]. В статье — быстрый разбор полезных приёмов:…
В этой статье мы рассмотрим возведение в степень в Python с помощью различных методов, от…
Дубликаты в списке Python — частая проблема. В статье показано, как быстро убрать повторы, в…
Услуга виртуального хостинга на SpaceWeb позволяет арендовать часть сервера (shared-сервера) и разместить на нём свой…