簡體   English   中英

Python腳本中的進度條

[英]progress bar in script Python

我不得不問其他人做過的事情,但我還沒有找到答案(也許是愚蠢的)。

我需要在我的腳本 python 中實現一個進度條,即關於 tqdm 的紅色,我很喜歡那個庫,因為它有漂亮的顏色,而且進度條結構良好,而不是一個簡單的 [--- ]。

我看到的一個簡單的腳本是這樣的:

from tqdm import tqdm
for i in tqdm(range(10000)):
    pass

但我的問題是:在哪里插入我的代碼? 看起來很愚蠢,但我嘗試了幾次,但酒吧不會去。 只是保持在 0%,直到我的腳本結束。

另一點是,如果我也嘗試那個簡單的代碼,每次欄更新自身時,它都會創建一個帶有新欄的新行。 那么當時間過去時,我怎么能有一個填充的條形呢?

非常感謝,當然,每一種支持和建議將不勝感激

編輯----如果我的代碼是:

alphabetic = ['a','b','c','d','e','f','g','h','i','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0-9']

for lett in alphabetic: lista_pag_success = pr.find_following_page('/artisti/lettera/'+lett) 

artisti=[] 
linksss=[] 

for i in lista_pag_success: 
       artisti, linksss = pr.crawl_canzoni_it(i) 

我必須把所有這些代碼都放在 tqdm() 函數中嗎? 我必須通過一個迭代? 但是如果我有這樣的情況怎么辦? lista_pag_success和artisti,linksss是三個list——這是一個簡單爬蟲的代碼——

您想要監控進度的迭代應該替換您發布的示例代碼中的range(10000)

例如,如果您有一個數字列表[1, 4, 9, 10] ,並且您想找到每個數字的平方,您將迭代tqdm([1, 4, 9, 10])並執行您在for循環中的計算,即:

squared_nums = []
for num in tqdm([1, 4, 9, 10]):
    squared_nums.append(num * num)
print(squared_nums)

這將生成如下輸出:

100%|████████████████████████████████████████████████████| 4/4 [00:00<00:00, 14820.86it/s]
[1, 16, 81, 100]

當然,在這種簡單的情況下,也可以使用列表推導式來編寫:

squared_nums = [num * num for num in tqdm([1, 4, 9, 10])]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM