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]