一行代码
代码语言: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)
执行结果如下: