A Python Sleep funkció - Hogyan lehet a Pythonot várni néhány másodperccel a folytatás előtt, példaparancsokkal

A Python sleep()funkciójával késleltetést adhat a kódjához.

Ez a funkció akkor hasznos, ha például szünetelteti a kódot az API-hívások között. Vagy javíthatja a felhasználói élményt a szavak vagy grafikák közötti szünetek hozzáadásával.

from time import sleep sleep(2) print("hello world") 

Amikor futtatom a fenti kódot, körülbelül két másodperc késleltetés következik a "hello world" nyomtatása előtt.

Késleltetést tapasztalok, mert sleep()egy megadott másodpercre leállítja a „hívó szál végrehajtását” (bár a pontos idő hozzávetőleges). Tehát a program végrehajtása körülbelül két másodpercig szünetel a fenti példában.

Ebben a cikkben megtudhatja, hogyan kell altatni a Python-kódot.

Az alvás részletei

A Python időmodulja sok időhöz kapcsolódó funkciót tartalmaz, amelyek közül az egyik sleep(). Az sleep () használatához importálnia kell.

from time import sleep 

az alvás () egy érvet igényel: másodperceket. Ez az az időtartam (másodpercben), amellyel késleltetni szeretné a kódját.

seconds = 2 sleep(seconds) 

Alvás cselekvésben

Most használjuk sleep()néhány különböző módon.

Miután importáltam az alvást a timemodulból, két sor szöveg nyomtatódik. Az egyes sorok nyomtatása között azonban körülbelül két másodperc késés lesz.  

from time import sleep print("Hello") sleep(2) print("World") 

Ez történt, amikor futtattam a kódot:

"Hello"Ezt a sort azonnal kinyomtatták.

Ezután körülbelül két másodperces késés következett be.

"World" Ez a sor körülbelül két másodperccel az első után nyomtatott.

Pontos lehetsz

Adja meg az időkésleltetést úgy, hogy lebegőpontos számot ad át neki sleep().

from time import sleep print("Prints immediately.") sleep(0.50) print("Prints after a slight delay.") 

Ez történt, amikor futtattam a kódot:

"Prints immediately." Ezt a sort azonnal kinyomtatták.

Ezután körülbelül 0,5 másodperc késés következett be.

"Prints after a slight delay." Ez a sor az első után kb. 0,5 másodperccel nyomtatott.

Hozzon létre egy időbélyeget

Itt van egy másik megfontolandó példa.

Az alábbi kódban öt időbélyeget hozok létre. sleep()Körülbelül egy másodperces késleltetést szoktam hozzáadni az egyes időbélyegek közé.

import time for i in range(5): current_time = time.localtime() timestamp = time.strftime("%I:%m:%S", current_time) time.sleep(1) print(timestamp) 

Itt importálom a teljes időmodult, hogy több funkciót is elérhessek belőle, beleértve az alvást () is.

import time 

Ezután létrehozok egy for ciklust, amely ötször ismétlődik.

for i in range(5): ... 

Minden iterációnál megkapom az aktuális időt.

current_time = time.localtime() 

Kapok egy időbélyeg egy másik funkció használata az idő modulban strftime().

timestamp = time.strftime("%I:%m:%S", current_time) 

Az alvás () függvény következik, ami késleltetést okoz a hurok minden iterációjában.

time.sleep(1) 

A program futtatásakor körülbelül egy másodpercet várok, mire az első időbélyeg kiíródik. Ezután körülbelül egy másodpercet várok a következő időbélyeg kinyomtatására, és így tovább, amíg a hurok véget nem ér.

A kimenet így néz ki:

04:08:37 04:08:38 04:08:39 04:08:40 04:08:41 

sleep () és a felhasználói élmény

A használat másik módja sleep()a felhasználói élmény fokozása némi feszültség létrehozásával.

from time import sleep story_intro = ["It", "was", "a", "dark", "and", "stormy", "night", "..."] for word in story_intro: print(word) sleep(1) 

Itt ismétlem a szavak listáját a story_intro. A feszültség növelése érdekében az sleep () függvénnyel kb. Egy másodperccel késleltetem az egyes szavak nyomtatását.

time.sleep(1) 

Bár a végrehajtás sebessége gyakran az elménk élén jár, néha érdemes lassítani és szünetet adni a kódunkba. Amikor ezek az alkalmak bekövetkeznek, tudja, mihez kell nyúlnia és hogyan működik.

Az amymhaddad.com oldalon a program megtanulásáról és a legjobb módszerekről írok. A programozásról, a tanulásról és a termelékenységről tweetelek : @amymhaddad.