今天下载 TensorFlow 的时候,突然对控制台的「进度条」非常感兴趣。通过收集各种资料,在此记录一下。
命令行的进度条如何显示在一行
输出「\r」这个字符可以让光标回到一行的开头,这时输出的内容就会将原来的内容覆盖。
实现
'''
Created on 2018年7月9日
@author: e6140
'''
import sys,time
#总区间
bar_len = 40
for i in range( 1,101 ):
#已完成
used= '=' * int( i/100 * bar_len )
#未完成
remain = ' ' * ( bar_len - len(used) )
flag = '下载中'
flag = flag + '.' *(i % 4)
if len( remain ) <= 0:
flag = '下载成功'
sys.stdout.write( '\rpercent:[%d][%s>%s] %s' % ( i,used,remain,flag ) )
sys.stdout.flush()
time.sleep( 0.1 )