python手写实现进度条

哈哈哈,我们平时都经常见到python的进度条,安装pip包的时候,更新的时候,调用第三方库的时候,,,但是很少有人试过自己实现,今天来了兴趣就自己写一套哈哈哈

 

 

进度条的输出是在原地刷新的,所以用到输出的‘\r’和time库的sleep(),‘\r’即“换行,光标在上一行”。这里提供两种方法:

————使用print()

for i in range(0,101,2):
    print('\r----->>',i, '<<-----',end = "", flush=True)
  time.sleep(0.1)

————使用sys.stdout.write()

import sys
_out = sys.stdout
for i in range(0,101,2):
  _out.write('\r'+'-->>'+str(i)+'<<--')
  time.sleep(0.1)

 

接下来我们提升点难度,把百分比进度条图形加上,

c = '#'
p = '_'
for iter in range(0,101,2):
    prc  = c* iter + p *(100-iter)
    print('\r',prc,'-->>' ,iter, '<<--', end='', flush=True)
    time.sleep(0.05)

 

posted @ 2020-01-24 13:01  dynmi  阅读(529)  评论(0编辑  收藏  举报