濮阳杆衣贸易有限公司

主頁 > 知識庫 > python實現進度條的多種實現

python實現進度條的多種實現

熱門標簽:溫州旅游地圖標注 江蘇房產電銷機器人廠家 幫人做地圖標注收費算詐騙嗎 蘇州電銷機器人十大排行榜 悟空智電銷機器人6 電信營業(yè)廳400電話申請 遼寧400電話辦理多少錢 荊州云電銷機器人供應商 外呼不封號系統(tǒng)

有時候在使用Python處理比較耗時操作的時候,為了便于觀察處理進度,這時候就需要通過進度條將處理情況進行可視化展示,以便我們能夠及時了解情況。這對于第三方庫非常豐富的Python來說,想要實現這一功能并不是什么難事。

tqdm就能非常完美的支持和解決這些問題,可以實時輸出處理進度而且占用的CPU資源非常少,支持循環(huán)處理、多進程、遞歸處理、還可以結合linux的命令來查看處理情況,等進度展示。

tqdm在阿拉伯語中的意思是“進展”,是python中一個快速、擴展性強的進度條工具庫,能讓我們了解代碼的運行進度,也能讓我們的運行結果看起來顯得更加美觀而又高大上??!

先來看一下進度條的效果。

示例代碼:

from tqdm import tqdm
 
for i in tqdm(range(int(9e7))):
    pass

運行結果:

可以看到,當我們的代碼的運行需要較長時間時,進度條可以很好的幫助我們了解整個代碼的運行進度。

一、tqdm相關操作

 1、迭代對象處理

對于可以迭代的對象都可以使用下面這種方式,來實現可視化進度,非常方便。

示例代碼:

import time
from tqdm import tqdm
 
for i in tqdm(range(100)):
    time.sleep(0.1)
    pass

運行結果:

2、觀察處理的數據

通過tqdm提供的set_description方法可以實時查看每次處理的數據。

示例代碼:

import time
from tqdm import tqdm
 
pbar = tqdm(["A", "B", "C", "D", "E", "F"])
for i in pbar:
    time.sleep(1)
    pbar.set_description("Processing %s" % i)

運行結果:

3、pandas中使用tqdm

pandas中對大量數據進行相關操作或者遍歷表格的行列時,我們可以使用tqdm來了解代碼運行情況。

示例代碼:

import time
import pandas as pd
from tqdm import tqdm
 
df = pd.DataFrame({
    'Month': [1, 2, 3, 4, 5, 2, 3, 4, 5, 1, 2, 3, 4],
    'Name': ['張三', '張三', '張三', '張三', '張三', '李四', '李四', '李四', '李四', '王五', '王五', '王五', '王五'],
    'Sex': ['男', '男', '女', '女', '女', '男', '男', '男', '男', '女', '女', '女', '女']
})
for i in tqdm(['Month', 'Name', 'Sex']):
    time.sleep(2)
    pass

運行結果:

4、多進程進度條

在使用多進程或者嵌套循環(huán)處理任務的時候,我們通過tqdm可以實時查看每一個進程任務的處理情況

示例代碼:

import time
from tqdm import tqdm
 
for i in tqdm(range(5), ascii=False, desc="1st process"):
    #  ascii = True 時為##
    for j in tqdm(range(5), ascii=True, desc="2st process"):
        time.sleep(0.1)

運行結果:

5、自定義進度條顯示信息

通過update方法可以控制每次進度條更新的進度。

示例代碼1:

import time
from tqdm import tqdm
 
#  total參數設置進度條的總長度為100
with tqdm(total=100) as pbar:
    for i in range(100):
        time.sleep(0.1)
        #  每次更新進度條的長度為1
        pbar.update(1)

運行結果:

示例代碼2:

import time
from tqdm import tqdm
 
#  total參數設置進度條的總長度為500
with tqdm(total=500) as pbar:
    for i in range(100):
        time.sleep(0.1)
        #  每次更新進度條的長度為3
        pbar.update(3)

運行結果:

除了上述方法之外,我們還能通過另外一種方法來實現操作。

示例代碼3:

import time
from tqdm import tqdm
 
#  total參數設置進度條的總長度為100
pbar = tqdm(total=100)
for i in range(100):
    time.sleep(0.1)
    #  每次更新進度條的長度為1
    pbar.update(1)
#  關閉占用的資源
pbar.close()

運行結果:

另外,我們還能通過set_descriptionset_postfix方法設置進度條顯示信息。

示例代碼:

import time
from tqdm import trange
from random import random, randint
 
with trange(100) as t:
    for i in t:
        #  設置進度條左邊顯示的信息
        #  注意:代碼中的GEN是可以手動換成其它內容的
        t.set_description("GEN %i" % i)
        #  設置進度條右邊顯示的信息
        #  注意:此處代碼中的gen lr lst是可以手動換成其它內容的
        t.set_postfix(loss=random(), gen=randint(1, 999), lr="h", lst=[1, 2])
        time.sleep(0.1)

運行結果:

令人震驚的是,當我們將進度條顯示的信息設置中文時,竟然不會出現亂碼?。。。?/p>

示例代碼:

import time
from tqdm import trange
from random import random, randint
 
with trange(100) as t:
    for i in t:
        #  設置進度條左邊顯示的信息
        #  注意:代碼中的GEN是可以手動換成其它內容的
        t.set_description("進度 %i" % i)
        #  設置進度條右邊顯示的信息
        #  注意:此處代碼中的gen lr lst是可以手動換成其它內容的
        t.set_postfix(損失=random(), 隨機=randint(1, 999), 名字="h", 列表=[1, 2])
        time.sleep(0.1)

運行結果:

6.tqdm(range(n))替換為trange(n)

我們在使用tqdm的時候,可以將tqdm(range(n))替換為trange(n),讓你的代碼看起來更加簡潔而又高大上!

示例代碼:

from tqdm import trange
import time
 
for i in trange(100):
    time.sleep(0.1)
    pass

運行結果:

7.在jupyter notebook中使用進度條tqdm:

示例代碼1:

import time
from tqdm import tqdm
for i in tqdm(range(100)):
    print("I'm tqdm!", end=' ')
    time.sleep(0.1)

運行結果:

示例代碼2:

import time
from tqdm import tqdm_notebook
 
for i in tqdm_notebook(range(100), desc="demo"):
    time.sleep(0.1)
    print("I'm tqdm_notebook!", end=' ')

運行結果:

到此這篇關于python實現進度條的多種實現的文章就介紹到這了,更多相關python 進度條內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 詳細介紹Python進度條tqdm的使用
  • Python顯示進度條的方法
  • Python實現帶百分比的進度條
  • Python實現采用進度條實時顯示處理進度的方法
  • Python使用progressbar模塊實現的顯示進度條功能
  • Python進度條實時顯示處理進度的示例代碼
  • python動態(tài)文本進度條的實例代碼
  • python控制臺中實現進度條功能
  • 六種酷炫Python運行進度條效果的實現代碼

標簽:濟南 黃山 景德鎮(zhèn) 臺灣 喀什 三沙 宿遷 欽州

巨人網絡通訊聲明:本文標題《python實現進度條的多種實現》,本文關鍵詞  python,實現,進度,條,的,多種,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python實現進度條的多種實現》相關的同類信息!
  • 本頁收集關于python實現進度條的多種實現的相關信息資訊供網民參考!
  • 推薦文章
    昆明市| 上思县| 邛崃市| 盐池县| 阜城县| 阿拉善左旗| 仙桃市| 全南县| 德令哈市| 中江县| 双牌县| 呼和浩特市| 天祝| 山丹县| 宝应县| 墨玉县| 阿拉善右旗| 曲松县| 盘山县| 苍山县| 琼结县| 正蓝旗| 阿拉善右旗| 江陵县| 上杭县| 松阳县| 华容县| 九寨沟县| 宾川县| 东安县| 诸暨市| 新河县| 哈巴河县| 岐山县| 高青县| 高邑县| 邵武市| 屏东市| 疏附县| 高雄县| 龙泉市|