【发布时间】:2021-01-12 15:41:14
【问题描述】:
例如,我尝试使用 progress.bar、alive_progress。
from alive_progress import alive_bar
with alive_bar(100) as bar:
for i in range(100):
for i in combinations_with_replacement(['a','b','c','a','b','c','a','b'], 8):
b = (''.join(i))
bar()
我有很多烦人的问题,或者它减慢了脚本,不能作为期望的打印(在这个栏上打印简单的打印,或者在任何打印后创建新的栏。
如果我在没有条形/计数的情况下运行它,它会在 ~0.001 秒内完成。
例如,我尝试使用 tqdm
from itertools import *
from tqdm import trange
for i in trange(100):
for i in combinations_with_replacement(['a','b','c','a','b','c','a','b','a','b','c','a','b','c','a','b','a','b','c','a','b','c','a','b'], 8):
b = (''.join(i))
如果我禁用它,它会在不到一秒的时间内完成,如果我使用它,它预计时间是 3 m,如何处理这个而不是减速脚本?
UPD:如果相信在 goodle 上发现的信息,pyhon 的进度条和计数器不可用,前提是您不关心 1000% 减速脚本。
但是有些进度条是如何在任何 brutforce 脚本、生成器等中使用的... 我不明白。
from itertools import *
from collections import Counter
from tqdm import *
#for i in tqdm(Iterable):
limit = product(['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'], repeat = 8)
for i in trange(100):
for j in limit:
b = (''.join(j))
if b in ['bbbbbbbb','11111111','aaaaaaaa','00001111']:
print (b)
它在脚本之前是静态的,因此无法正常工作。 (所有运行保持在 0% 并在结束时立即进入 100%)
您可以注释逻辑“如果 b in 并打印”,但没有任何变化。
【问题讨论】:
-
你可以使用
tqdm包 -
我尝试了所有,它们都在 python 3.8 出现了 hv 问题,它们都减慢了脚本,没有 progerss 裸机脚本在 0.001 秒完成工作,裸机,其减慢 5 - 10 秒!
标签: python-3.x progress-bar counting