Я нашел способ сделать индикатор выполнения и использовал его, чтобы визуализировать, как далеко продвинулся сценарий.Я использовал его для начала каждого цикла, но он быстро стал беспорядочным, поэтому я обновил его, чтобы он работал для всего файла.
При использовании возврата каретки в Python после 10 000-й попытки перезаписать эту строкуначинает игнорировать возврат каретки и просто печатает новую строку каждый раз.
Этот код работал в прошлом, но при переключении на работу для всего файла в одном баре он ломается.
def ProgressBar (iteration, total, tot_len = 50, fill = '█', empty = '-'):
iteration+=1 #to fix the OBO issue
percents = round(100.0*iteration/float(total),1)
filled_len = int(round(tot_len * percents/100.0))
bar = fill * filled_len + empty * (tot_len - filled_len)
sys.stdout.write(' |%s| %s%s (%s/%s) \r' % (bar, percents, '%', iteration, total))
sys.stdout.flush()
if iteration == total:
print ' '
Я ожидал бы, что это будет перезаписывать одну и ту же строку непрерывно, независимо от того, сколько раз вызывается функция, но после 10000 вызовов in перестанет перезаписывать одну и ту же строку.
В итоге я получаю это
|████----------------------------------------------| 8.3% (10000/120000)
|████----------------------------------------------| 8.3% (10001/120000)
|████----------------------------------------------| 8.3% (10002/120000)
|████----------------------------------------------| 8.3% (10003/120000)
|████----------------------------------------------| 8.3% (10004/120000)
|████----------------------------------------------| 8.3% (10005/120000)
|████----------------------------------------------| 8.3% (10006/120000)
|████----------------------------------------------| 8.3% (10007/120000)
|████----------------------------------------------| 8.3% (10008/120000)
|████----------------------------------------------| 8.3% (10009/120000)
|████----------------------------------------------| 8.3% (10010/120000)
|████----------------------------------------------| 8.3% (10011/120000)
|████----------------------------------------------| 8.3% (10012/120000)
|████----------------------------------------------| 8.3% (10013/120000)
|████----------------------------------------------| 8.3% (10014/120000)
|████----------------------------------------------| 8.3% (10015/120000)
и он просто продолжает идти.