欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年09月16日 12:03:42   作者:yongh701  
這篇文章主要介紹了Python實(shí)現(xiàn)輸出程序執(zhí)行進(jìn)度百分比的方法,涉及Python數(shù)值運(yùn)算與系統(tǒng)輸出相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python實(shí)現(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=100000
for 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();

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

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

#-*-coding:utf-8-*-
import sys;
total=100000
for 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();

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

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

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

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

相關(guān)文章

  • python如何對鏈表操作

    python如何對鏈表操作

    這篇文章主要介紹了python如何對鏈表操作,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-10-10
  • django formset實(shí)現(xiàn)數(shù)據(jù)表的批量操作的示例代碼

    django formset實(shí)現(xiàn)數(shù)據(jù)表的批量操作的示例代碼

    這篇文章主要介紹了django-formset實(shí)現(xiàn)數(shù)據(jù)表的批量操作的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Python之random庫的常用函數(shù)有哪些

    Python之random庫的常用函數(shù)有哪些

    這篇文章主要為大家詳細(xì)介紹了Python之random庫的常用函數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • Python接口自動化之cookie、session應(yīng)用詳解

    Python接口自動化之cookie、session應(yīng)用詳解

    本文主要介紹cookie、session原理及在自動化過程中如何利用cookie、session保持會話狀態(tài)的應(yīng)用,有需要的朋友可以參考下,希望可以有所幫助
    2021-08-08
  • python模擬登錄百度代碼分享(獲取百度貼吧等級)

    python模擬登錄百度代碼分享(獲取百度貼吧等級)

    python模擬登錄百度,實(shí)現(xiàn)了登錄并讀取百度關(guān)注貼吧列表,百度登錄還是有點(diǎn)麻煩的,由于用的ssl,所以要先獲取token,然后再登錄,這個用finddle2分析下,還是比較好解決的
    2013-12-12
  • OpenCV半小時掌握基本操作之分水嶺算法

    OpenCV半小時掌握基本操作之分水嶺算法

    這篇文章主要介紹了OpenCV基本操作之分水嶺算法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • 解決Django數(shù)據(jù)庫makemigrations有變化但是migrate時未變動問題

    解決Django數(shù)據(jù)庫makemigrations有變化但是migrate時未變動問題

    今天小編就為大家分享一篇解決Django數(shù)據(jù)庫makemigrations有變化但是migrate時未變動的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • ubuntu上安裝python的實(shí)例方法

    ubuntu上安裝python的實(shí)例方法

    在本篇文章里小編給大家整理的是關(guān)于怎么在ubuntu安裝python的相關(guān)方法,以后需要的朋友們可以學(xué)習(xí)下。
    2019-09-09
  • 對Python+opencv將圖片生成視頻的實(shí)例詳解

    對Python+opencv將圖片生成視頻的實(shí)例詳解

    今天小編就為大家分享一篇對Python+opencv將圖片生成視頻的實(shí)例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python實(shí)現(xiàn)簡單聊天功能

    python實(shí)現(xiàn)簡單聊天功能

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡單聊天功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07

最新評論