最近不务正业一下,给自己的程序加个进度条,以解决处理长时间任务时对着黑屏或者只看到print的尴尬。
以文件读取为例,给出了处理文件每一行并显示进度的一个例子:
import sys
import numpy as np
def progress_bar(num_cur, total):
ratio = float(num_cur) / total
percentage = int(ratio * 100)
r = '\r\n[%s%s]%d%%' % (">"*percentage, " "*(100-percentage), percentage )
sys.stdout.write(r)
sys.stdout.flush()
with open('D:/233/666.txt', 'r') as f:
lines = f.readlines()
print 'Total line numbers are: %s' %(len(lines))
cur_ = 1
total_ = len(lines)
for line in lines:
if cur_ % 3 == 0 or cur_ == total_:
# your processing code here #
progress_bar(cur_, total_)
cur_ += 1