脚本中的进度条 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 是三个列表-这是一个简单爬虫的代码–

您要监视进度的迭代器应替换您发布的示例代码中的 range(10000)

例如,如果您有一个数字列表 [1, 4, 9, 10],并且您想要计算每个数字的平方,您可以遍历 tqdm([1, 4, 9, 10]) 并在 [=] 中执行计算16=]循环,即:

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])]