Питхон

Коришћење Питхон методе слееп ()

Коришћење Питхон методе слееп ()
Ако желите да поставите временско кашњење пре извршавања било које скрипте, онда можете да користите спавање () функција која је уграђена у Питхон. Овај метод постоји под време модул. Генерално, функција слееп () се користи за заустављање извршавања програма за дати временски период (у секундама). На пример, ако преузимате датотеку са локације помоћу скрипте која може захтевати одређени временски период, тада можете користити методу спавања () да обавестите корисника да сачека. Ово упутство ће вам показати неке од различитих употреба функције слееп () у Питхон 3-у.

Синтакса

Следећи пример приказује једноставну употребу функције слееп () за заустављање извршавања програма у средини скрипте за одређени период. Скрипта ће прочитати и исписати тренутну системску вредност времена, сачекати 5 секунди под функцијом слееп () и поново прочитати и исписати тренутно системско време. Овде се функције лоцалтиме () и тиме () користе за читање тренутног системског датума и времена, а функција стрфтиме () користи се за испис форматираног времена.

#!/ уср / бин / енв питхон3
# Увозни модул времена
време увоза
 
# Прочитајте тренутни датум и време
сада = време.по локалном времену (тиме.време())
 
# Штампај време почетка
испис (време.стрфтиме ("Време почетка:% Х:% М:% С", сада))
 
# Сачекајте 5 секунди
испис ("Чекање 5 секунди ...")
време.спавање (5)
 
# Прочитајте тренутни датум и време
сада = време.по локалном времену (тиме.време())
 
# Време завршетка штампања
испис (време.стрфтиме ("Време завршетка:% Х:% М:% С", сада))

Оутпут

Следећи излаз ће се појавити након покретања горње скрипте. Излаз показује да је време између времена почетка и завршетка 5 секунди, користећи функцију слееп ().

Пример 2: Направите бројач времена помоћу спавања ()

Следећи пример показује како лако креирати бројач времена методом слееп (). Скрипти ће требати број у секундама да покрене променљиву бројача времена.  Овде се увозе три модула. Тхе Датум време модул се увози ради постављања почетне вредности времена. Тхе време модул се увози за употребу функције слееп (). Тхе сис модул се користи за завршавање бесконачне вхиле петље када је вредност бројача једнака вредности бројача времена. Четири променљиве се користе у скрипти за иницијализацију променљивих сата, минута, секунде и бројача да би се поставило време почетка бројача времена. Овде ће функција слееп () сачекати једну секунду у свакој итерацији петље, а затим ће исписати вредност бројача времена.

#!/ уср / бин / енв питхон3
# Увоз модула за датум и време
импорт датетиме
# Увозни модул времена
време увоза
# Увези сис модул
импорт сис
 
# Узмите број секунди за бројање
тимер = инт (инпут ("Подеси вредност бројача у секундама:"))
# Иницијализујте време и вредност бројача на 0
сат = минута = секунда = бројач = 0
 
# Одштампајте почетну вредност тајмера
принт (датетиме.време (сат, минут, секунда))
покушати:
# Дефинишите бесконачну петљу
вхиле Труе:
 
# Кашњење на 1 секунду
време.спавање (1)
# Бројач увећања за 1
бројач = бројач + 1
# Повећај секунду за 1
други = други + 1
# Одштампајте тренутну вредност тајмера
принт (датетиме.време (сат, минут, секунда))
# Поставите другу вредност на 0 када је вредност већа од 60
ако је друго> 60:
минут = минут + 1
друго = 0
# Поставите минутну вредност на 0 када је вредност већа од 60
ако је минут> 60:
сат = сат + 1
минут = 0
# Прекините петљу када је вредност бројача једнака вредности тајмера
ако је бројач == тајмер:
принт ("Време је завршено.")
пауза
осим КеибоардИнтеррупт:
# Завршите скрипту када притиснете Цтрл + Ц
сис.излаз

Оутпут

Следећи излаз ће се појавити након покретања скрипте.

Пример 3: Одштампајте сваки знак низа са закашњењем

Ако желите да прикажете сваки знак текста са одређеним кашњењем у излазу, тада можете применити функцију слееп () у скрипти. Сличан задатак приказан је у следећој скрипти. Овде се за улаз узима текстуална вредност. Сваки знак текста се понавља помоћу петље и функција ће сачекати 0.4 секунде пре штампања.

#!/ уср / бин / енв питхон3
# модул времена увоза
време увоза
 
# Узми вредност низа
наме = инпут ("Унесите своје име:")
# Понављајте петљу да бисте прочитали сваки знак из низа
за вал у имену:
# Одштампајте сваки знак без новог реда
испис (вал, енд = ")
# Сачекајте 0.4 секунде након штампања сваког знака
време.спавање (0.4)

Оутпут

Покрените скрипту. Излаз ћете правилно разумети након покретања скрипте.

Пример 4: Употреба сна () у скрипту са више навоја

Следећи пример приказује употребу функције слееп () у Питхон скрипти са више нити. Овде се увозе два модула: временски модул за употребу функције слееп () и модул за навоја за стварање више нити. У скрипти се користе две прилагођене функције. Текстуална порука ће се одштампати и сачекати 0.5 секунде три пута унутар фор петље када започне прва нит. Текстуална порука ће се одштампати и сачекати 1 други за четири пута унутар фор петље када започне друга нит.

#!/ уср / бин / енв питхон3
# модул времена увоза
време увоза
# Увоз модула навоја
увоз навоја
 
# Дефинишите функцију прве нити
деф прн_мессаге_1 ():
за н у опсегу (3):
принт ("Штампај нит 1 поруке")
време.спавање (0.5)
 
# Дефинишите функцију друге нити
деф прн_мессаге_2 ():
за н у опсегу (4):
принт ("Принт тхреад 2 мессаге")
време.спавање (1)
 
# Подесите функцију прве нити
тхреад1 = навоја.Тема (таргет = прн_мессаге_1)
# Покрените функцију прве нити
нит1.почетак()
# Подесите функцију друге нити
тхреад2 = навоја.Тема (таргет = прн_мессаге_2)
# Покрените другу функцију нити
нит2.почетак()

Оутпут

Следећи излаз ће се појавити након покретања скрипте. Након покретања прве нити, започиње друга нит и сачекајте до завршетка 1 секунду. За то време петља прве нити завршава последње две итерације. Последња три излаза су се појавила за петљу друге нити.

Закључак

Функција слееп () користи се за решавање многих различитих врста временских проблема у Питхону. Различите употребе ове методе објашњавају се употребом овде врло једноставних примера који помажу читаоцу да зна функције овог алата. Верујем да ћете ви или било који други корисник Питхона моћи правилно да користите ову методу након увежбања примера обухваћених овим упутством.

Портови комерцијалних игара отвореног кода
Бесплатне рекреације покретачких игара са отвореним кодом и више платформи могу се користити за играње старих, као и неких прилично недавних наслова и...
Најбоље игре командне линије за Линук
Командна линија није само ваш највећи савезник када користите Линук - она ​​такође може бити извор забаве јер је можете користити за играње многих заб...
Најбоље апликације за мапирање гамепада за Линук
Ако волите да играте игре на Линуку са гамепадом уместо са типичним системом за унос тастатуре и миша, за вас постоје неке корисне апликације. Многе и...