python实现进度条
python实现进度条
简单演示
sys.stdout.write()输出不会自动换行,没有end,可用转义字符自行控制 /n 换行 /r 回车到本行首,可刷新输出 如用sys.stdout.write() 和\r实现自定义进度条
import time import sys def main(): j = 0 for i in range(100): j+=1 sys.stdout.write('\r已经上传了%%%d' % (j/100*100)) time.sleep(0.1) if __name__ == '__main__': main()
结果:
已经上传了%100
实现简单效果
import time import sys for i in range(100): a = int((i + 1) / 5) b = 20 - a # sys.stdout.write('\r>>convert image %d/%d'%(i,b)) sys.stdout.write('\r|%s%s|%d%%' % (a * '▇', b * ' ', i + 1)) sys.stdout.flush() time.sleep(.1)
结果:
|▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇|100%
tqdm库
from tqdm import tqdm import time import sys for i in tqdm(range(1000)): time.sleep(0.01)
结果:
100%|██████████| 1000/1000 [00:10<00:00, 91.47it/s]