我想用Python编写一个简单的、基于命令行的监控工具,它可以在命令行上显示计数的视觉指示器。有问题的计数是队列中消息的计数,但这并不重要,重要的是我想显示一个可以增加或减少的计数的视觉指示器。我知道最大可能值是多少。
有人知道在Python中实现这一点的简单方法吗?
在我的脑海中,我想象着外壳中的一个水平条,它会根据计数而收缩和增长。注意,我不想要进度条(我知道我可以用tqdm来给我进度条(,因为这是一个无限的计数,没有结束的概念。
欢迎提出任何建议。
如果注意不要以n
结束该行,则可以打印退格字符(b
(以移动"光标";返回行首,并覆盖刚刚打印的条形图。
简单示例:
import sys
import random
import time
BAR_WIDTH = 50
curr_bar_width = 0
while True:
tally = random.randint(0, 50)
bar = '#' * tally + '.' * (BAR_WIDTH - tally)
print('b' * curr_bar_width + bar, file=sys.stderr, end='', flush=True)
curr_bar_width = len(bar)
time.sleep(0.2)