命令行进度条实现

今天下载 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 )

你可能感兴趣的:(命令行进度条实现)