python简单实现一个数字动态进度条

前言

在中国慕课网上学习爬虫视频时,看到一个很有意思的优化,有时候我们进行爬取内容时,为了客户体验较好,可以动态显示出爬取的进度。而其实现很容易…就是一个简单的数学方法。

思路及讲解

假设有一个1000000数据的列表(为了让进度条可以显示出来,很大的数据),我们每次循环遍历这个列表时向文件中输出,其中增加一个计数器,每次写文件的过程中循环通过计数器来记录,而最后显示的百分比进度则是用(计数器/list的长度)*100

代码实现


#coding = utf-8

"""
@author: sy

@file: mooc_stock.py

@time: 2018/3/18 15:01

@desc: 动态显示进度条

"""
def toolBar():
    #向列表中填充1000000个数据
    list_bar = (range(1000000))
    #新增计数器
    count = 0
    #写到桌面文件中
    with open("C:/Users/sy/Desktop/toobar.txt",'w') as f:
        for i in list_bar:
            f.write(str(i))
            count = count + 1
            '''
            \r:每次讲控制台的光标移动到首位,去掉则不会呈现刷新的效果,最终是打印一行.
            end='':print输出不换行,若去掉,则会在控制台每次换行打印当前进度.
            '''
            print('\r当前速度:{:.2f}%'.format(count*100/len(list_bar)),end='')

if __name__ == '__main__':
    toolBar()

总结

百分比进度:(计数器/list的长度)*100

'''
\r:每次讲控制台的光标移动到首位,去掉则不会呈现刷新的效果,最终是打印一行.
end='':print输出不换行,若去掉,则会在控制台每次换行打印当前进度.
'''
print('\r当前速度:{:.2f}%'.format(count*100/len(list_bar)),end='')

你可能感兴趣的:(----Python)