1、問(wèn)題描述 在Python中使用print打印hello world時(shí),終端不顯示 2、原因 因?yàn)闃?biāo)準(zhǔn)輸入輸出stdin/stdout有緩沖區(qū),所以使用print不能立即打印出來(lái),作為剛接觸Python的菜鳥(niǎo),迷瞪了半天 3、解決方法 1)刷新緩沖區(qū),python中是sys.stdout.flush() 2)python3中支持print支持參數(shù)flush 原型:
參考官方手冊(cè) https://docs./zh-cn/3/library/functions.html#print Python控制臺(tái)輸出時(shí)刷新當(dāng)前行內(nèi)容而不是輸出新行的實(shí)現(xiàn)需求目標(biāo) 執(zhí)行Python程序的時(shí)候在控制臺(tái)輸出內(nèi)容的時(shí)候只顯示一行,然后自動(dòng)刷新內(nèi)容,像這樣:
而不是這樣: 實(shí)現(xiàn)環(huán)境 Python 3.x 實(shí)現(xiàn)代碼 這里主要用到了Python 3.x里面print函數(shù)增加的功能,使用\r可以刷新當(dāng)前行輸出,2.x里面沒(méi)有測(cè)試,理論上不可以這樣操作 拓展知識(shí): python 覆蓋輸出/單行輸出方式 有時(shí)候看輸出進(jìn)度時(shí),會(huì)分別輸出進(jìn)度,也就是輸出一長(zhǎng)串?dāng)?shù)字,如果能夠覆蓋之前的輸出視覺(jué)效果會(huì)更好。 |
|