本篇文章介绍在Python下实现进度条的几种方法
Python Version: 3.5+
第一种:简单的字符拼接
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| import sys import time import os
w = os.get_terminal_size().columns
item = (w - 5) / 100
def view_bar(num, total): rate = num / total rate_num = int(rate * 100) r1 = '\r%s>%d%%' %("-" * int(rate_num*item), rate_num) sys.stdout.write(r1) sys.stdout.flush()
for i in range(1, 101): time.sleep(0.1) view_bar(i, 100)
|
这里特别说明下,上面的代码中,获取终端宽度的方法os.get_terminal_size().columns
是Python3+版本中的新功能,如果是2+的Python,可以通过以下方式获取终端宽度
1 2 3
| import curses screen = curses.initscr() height, width = screen.getmaxyx()
|
第二种:使用第三方模块
感受下~ 是不是瞬间不想重复造轮子了
progressive
progressbar