用python实现进度条功能

我在做python的作业:ftp服务时,客户端能够上传、下载文件,这个时候需要编写一个进度条来表示当前的传输进度。

我们可以使用sys,模块来完成任务,需要用到sys.stdout这个方法:

程序示例:

import sys
import time
def process_bar(precent, width=50):
    use_num = int(precent*width)
    space_num = int(width-use_num)
    precent = precent*100
    # print('[%s%s]%d%%'%(use_num*'#', space_num*' ',precent),file=sys.stdout,flush=True)
    sys.stdout.write("[%s%s]%d%%\r"%(use_num*"=", space_num*' ',precent))
    sys.stdout.flush()


if __name__ == '__main__':
    for i in range(21):
        precent = i/20
        process_bar(precent)
        time.sleep(0.2)
    print('\n')

程序运行示例:

 

posted @ 2018-11-23 21:02  元骑鲸  阅读(389)  评论(0编辑  收藏  举报