python一行代码编写进度条

2021-09-18 15:13:46 浏览数 (1)

一行代码

代码语言:javascript复制
 print("r"   symbol*round(index/loop_len*bar_len)   " "*(bar_len-round(index/loop_len*bar_len)-1)   '|'   str(index 1)   '/'   str(loop_len), sep="", end="")

技巧解析

  • 使用r来将光标的位置回退到本行的开头位置
  • 使用print函数中的end参数使得打印本行结尾是空字符串(默认n)

完整代码调用

代码语言:javascript复制
import time

def progress_bar(index, bar_len, loop_len, symbol='#'):
    '''进度条,输入为实际索引、进度条长度和循环总次数'''
    print("r"   symbol*round(index/loop_len*bar_len)   " "*(bar_len-round(index/loop_len*bar_len)-1)   '|'   str(index 1)   '/'   str(loop_len), sep="", end="")
    
size = 110
for i in range(size):
	# ...
    progress_bar(i, 80, size)
    # ...
    time.sleep(0.1)

执行结果如下:

0 人点赞