我有一个相当大的python程序,我希望在终端的底部有一个加载栏,同时能够显示调试消息。典型的Linux包管理器样式。
我在
中提供了此类功能的示例from time import sleep
def print_load_bar(r, bar_length=20):
bar = '\r['
for i in range(bar_length):
bar += '░' if i < r*bar_length else ' '
bar += '] {} %'.format(round(100*r))
print(bar, end='')
N = 20
msg = 'Debug message #{}'
for n in range(N):
print('\r', msg.format(n))
print_load_bar((n+1) / N)
sleep(0.1)
中途给出:
...
Debug message #11
Debug message #12
[░░░░░░░░░░ ] 65 %
最后:
...
Debug message #17
Debug message #18
Debug message #19
[░░░░░░░░░░░░░░░] 100 %
你是否有人知道在每个印刷语句\r
的开头没有print('\r', msg.format(n))
的情况下实现这一目的的方法?