国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實現(xiàn)輸出程序執(zhí)行進(jìn)度百分比的方法

2020-01-04 16:45:36
字體:
供稿:網(wǎng)友

本文實例講述了Python實現(xiàn)輸出程序執(zhí)行進(jìn)度百分比的方法。分享給大家供大家參考,具體如下:

對于一些大型的Python程序,我們需要在命令行輸出其百分比,顯得更加友好,以免被人誤會程序陷入死循環(huán)、假死的窗體。
關(guān)鍵是利用到不換行的輸出符/r,/r的輸出,將直接覆蓋掉此行的內(nèi)容。

比如如下的程序,是一個i從0自加的十萬的過程,即使對于現(xiàn)在高性能的CPU也是需要幾秒的時間的,我們要輸出其執(zhí)行時候的百分比,可以在引入sys這個包之后,利用到sys.stdout.write輸出,避免原生態(tài)的print自帶的/n影響大局。同時要控制百分比的小數(shù)位為4。程序執(zhí)行的百分比恰好為i當(dāng)前的值除以值為十萬的total。

#-*-coding:utf-8-*-import sys;total=100000for i in range(0,total):  percent=float(i)*100/float(total)  sys.stdout.write("%.4f"%percent);  sys.stdout.write("%/r");  sys.stdout.flush();sys.stdout.write("100%!finish!/r");sys.stdout.flush();

程序運行結(jié)果如下:

Python,輸出,程序,執(zhí)行進(jìn)度,百分比

但是,這里i每自增一次就要求當(dāng)前的運行的百分比,把原本100000次的浮點運算徒然增加到二十萬次,同時要刷新100000次的屏幕,非常不合理,因此對于程序,可以做如下的改進(jìn),運行百分比僅保留2位小數(shù),同時i每累積100才進(jìn)行百分比輸出,程序修改之后如下:

#-*-coding:utf-8-*-import sys;total=100000for i in range(0,total):  if i%100==0:    percent=float(i)*100/float(total)    sys.stdout.write("%.2f"%percent);    sys.stdout.write("%/r");    sys.stdout.flush();sys.stdout.write("100%!finish!/r");sys.stdout.flush();

從求運行百分比的100000次的浮點運算改為100000次的條件運算,同時僅要刷新屏幕1000次,程序的運行耗時將大大減少。

同時,這里值得注意的是,Eclipse中的Pydev中的控制臺,對于/r依然是處理成換行符,使得輸出變成如下的樣子,這里沒有辦法了!

Python,輸出,程序,執(zhí)行進(jìn)度,百分比

 

希望本文所述對大家Python程序設(shè)計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 遂川县| 石狮市| 荣成市| 嫩江县| 美姑县| 宣汉县| 新巴尔虎右旗| 临沂市| 平和县| 儋州市| 东兰县| 南汇区| 昌乐县| 玛多县| 安塞县| 保定市| 商南县| 精河县| 蓝山县| 湘西| 嘉鱼县| 库伦旗| 昆明市| 北宁市| 留坝县| 铁岭县| 宝山区| 云南省| 夹江县| 河津市| 德阳市| 沁源县| 黎平县| 石泉县| 德江县| 平安县| 禹州市| 清镇市| 奎屯市| 丘北县| 平塘县|