我正在使用 tqdm 绘制进度条,并且希望 tqdm 覆盖终端中的同一行,无论窗口大小如何。考虑以下代码:
from tqdm import trange
from time import sleep
t = trange(100, desc='Bar desc', leave=True)
for i in t:
t.set_description("Bar desc (file %i)" % i)
t.refresh() # to show immediately the update
sleep(0.01)
Run Code Online (Sandbox Code Playgroud)
当我的终端窗口的宽度比 宽时"Bar desc (file %i)"
,tqdm 将根据我的需要打印进度条。但是,如果我减小终端窗口的宽度,tqdm 将打印为两行。每个 tqdm 更新都会打印到新行。即使我调整终端大小,有什么方法可以让 tqdm 打印到相同的两行吗?
我在 Ubuntu 中使用 bash 终端。
有多种选择:
要么查询终端宽度并相应地修剪栏linewidth=$(($(tput cols) - 1))
要么禁用换行
禁用换行:ncurses tput rmam
ANSI: '\x1B[?7l`
启用换行:ncurses tput smam
ANSI: '\x1B[?7h`
归档时间: |
|
查看次数: |
1540 次 |
最近记录: |