python智能等待函數(shù),python顯性等待

Python 中的sleep函數(shù)

在我的Python環(huán)境(Win7+Python2.7.9)下測試沒問題,是等待5秒后再輸出 m。

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供禪城網(wǎng)站建設(shè)、禪城做網(wǎng)站、禪城網(wǎng)站設(shè)計(jì)、禪城網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、禪城企業(yè)網(wǎng)站模板建站服務(wù),十多年禪城做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

你的問題可能是被標(biāo)準(zhǔn)輸出流的緩沖區(qū)緩沖了,給 stdout 加一個(gè) flush 就可以了:

from?time?import?sleep

from?sys?import?stdout

print?"s"

stdout.flush()

sleep(5)

print?"m"

python函數(shù)深入淺出 16.time.sleep()函數(shù)詳解

time.sleep() 函數(shù)命名來源于英文單詞time(時(shí)間)和sleep(睡眠)。

time 是python帶的非內(nèi)置庫,使用時(shí)需要import,主要用于處理和時(shí)間相關(guān)的操作。

time.sleep用于給定時(shí)間內(nèi)掛起(等待)當(dāng)前線程的執(zhí)行。

time.sleep() 函數(shù)的例子:

可以注釋掉time.sleep(2)再運(yùn)行一次對比一下

可以看到雖然都是打印出一樣的結(jié)果,但time.sleep()加入了等待時(shí)間

這里還要解釋一下python中線程與進(jìn)程的區(qū)別。

舉個(gè)例子,廚房做菜看成是一個(gè)進(jìn)程,那么這個(gè)進(jìn)程下面就可能有多個(gè)人或一個(gè)人(cpu基本執(zhí)行單元,即線程)來執(zhí)行,多個(gè)人可以分別洗菜,刷碗,擺盤等等同時(shí)作業(yè),他們又是共享這個(gè)廚房的資源的。每個(gè)人存在一定的資源競爭關(guān)系,比如爐火只有1個(gè)。

這里time.sleep是針對線程執(zhí)行的,也就是其中一個(gè)人去sleep睡覺了,不影響其他人的繼續(xù)工作。

參數(shù)

該函數(shù)沒有返回值。

結(jié)果類似如下:

可以看到秒數(shù)相差了5

time.sleep()常用于推遲執(zhí)行的場景

在python中,與時(shí)間相關(guān)的模塊有:time,datetime以及calendar

對基礎(chǔ)運(yùn)行環(huán)境有疑問的,推薦參考: python函數(shù)深入淺出 0.基礎(chǔ)篇

請問如何在python中實(shí)現(xiàn)等待指定一段時(shí)間?

Python的內(nèi)置模塊time中有一個(gè)sleep函數(shù),單位是秒,也可以輸入小數(shù)表示毫秒。

Ppython await是什么?

await的解釋:

await用來聲明程序掛起。

比如異步程序執(zhí)行到某一步時(shí)需要等待的時(shí)間很長,就將此掛起,去執(zhí)行其他的異步程序。

await 后面只能跟異步程序或有__await__屬性的對象,因?yàn)楫惒匠绦蚺c一般程序不同。

程序解釋:

假設(shè)有兩個(gè)異步函數(shù)async a,async b,a中的某一步有await,

當(dāng)程序碰到關(guān)鍵字await b()后,異步程序掛起后去執(zhí)行另一個(gè)異步b程序,就是從函數(shù)內(nèi)部跳出去執(zhí)行其他函數(shù),

當(dāng)掛起條件消失后,不管b是否執(zhí)行完,要馬上從b程序中跳出來,回到原程序執(zhí)行原來的操作。

如果await后面跟的b函數(shù)不是異步函數(shù),那么操作就只能等b執(zhí)行完再返回,無法在b執(zhí)行的過程中返回。

如果要在b執(zhí)行完才返回,也就不需要用await關(guān)鍵字了,直接調(diào)用b函數(shù)就行。

所以這就需要await后面跟的是異步函數(shù)了。

在一個(gè)異步函數(shù)中,可以不止一次掛起,也就是可以用多個(gè)await。

更多Python知識,請關(guān)注:Python自學(xué)網(wǎng)??!

python wait()函數(shù)問題

看了你發(fā)的函數(shù):

def Wait(self):

self._app.MainLoop()

看名字應(yīng)該是啟動(dòng)了阻塞循環(huán),去處理app的請求,這個(gè)就是需要一直運(yùn)行的,因?yàn)橐坏┩V沽?,你的app請求就沒發(fā)處理了。

如果你需要啟動(dòng)后再執(zhí)行的別的程序,可以使用多進(jìn)程,把這個(gè)啟動(dòng)放在別的進(jìn)程里去執(zhí)行。

如果解決了您的問題請采納!

如果未解決請繼續(xù)追問

python如何設(shè)計(jì)一個(gè)函數(shù),實(shí)現(xiàn)等待用戶輸入數(shù)字,超時(shí)則默認(rèn)選擇?

很簡單,新建一個(gè)線程即可

import threading

def input_func( context ):

context[ 'data' ] = input( 'input:' )

context = { 'data' : 'default' }

t = threading.Thread( target = input_func ,args = ( context , ) )

t.start( )

t.join( 10 )#等待10秒

print( context )

文章題目:python智能等待函數(shù),python顯性等待
文章來源:http://muchs.cn/article40/hcppho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作網(wǎng)站維護(hù)、網(wǎng)頁設(shè)計(jì)公司、建站公司、網(wǎng)站收錄、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作