python(5)- sys.stdout()实现进度条

1. 使用\r , 让其始终在行首输出,实现进度条

import sys, time


'''
使用\r 来实现进度条的效果,\r 是光标移到行首但不换行。
假设文件大小为60,一下下载1, 下载到60就是100%
'''

j = '#'     

for i in range(1, 61):
    num = str(int((i/60) * 100))     #得到百分比, int去掉小数后,再转成字符串
    sys.stdout.write(num + '%' + '||' + j + '->' + '\r')
    j += '#'
    sys.stdout.flush()    
    time.sleep(1)

效果就是这样的:

C:\temp>python3 test.py
100%||############################################################->
posted @ 2016-03-13 22:53  黄小墨  阅读(826)  评论(0编辑  收藏  举报