在我的Python環(huán)境(Win7+Python2.7.9)下測(cè)試沒問題,是等待5秒后再輸出 m。
淮上網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),淮上網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為淮上近1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的淮上做網(wǎng)站的公司定做!
你的問題可能是被標(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?time?sleep()?函數(shù)推遲調(diào)用線程的運(yùn)行,可通過參數(shù)secs指秒數(shù),表示進(jìn)程掛起的時(shí)間。
Python有一個(gè)名為time的模塊,該模塊提供了一些有用的功能來處理與時(shí)間有關(guān)的任務(wù)。其中一種常用的函數(shù)是sleep()。?sleep()函數(shù)將當(dāng)前線程的執(zhí)行暫停給定的秒數(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)行一次對(duì)比一下
可以看到雖然都是打印出一樣的結(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è)人存在一定的資源競(jìng)爭(zhēng)關(guān)系,比如爐火只有1個(gè)。
這里time.sleep是針對(duì)線程執(zhí)行的,也就是其中一個(gè)人去sleep睡覺了,不影響其他人的繼續(xù)工作。
參數(shù)
該函數(shù)沒有返回值。
結(jié)果類似如下:
可以看到秒數(shù)相差了5
無
time.sleep()常用于推遲執(zhí)行的場(chǎng)景
在python中,與時(shí)間相關(guān)的模塊有:time,datetime以及calendar
對(duì)基礎(chǔ)運(yùn)行環(huán)境有疑問的,推薦參考: python函數(shù)深入淺出 0.基礎(chǔ)篇
首先呢,sleep就是一個(gè)函數(shù),
#?使用方法
import?time
time.sleep(1)?#?睡眠1s種
當(dāng)然你要二次封裝也沒有問題
import?time
def?diy_sleep(times=3)??#?你可以傳參也可以不傳參,默認(rèn)是休眠3s
time.sleep(times)
這樣 你就可以直接應(yīng)用diy_sleep()函數(shù)