tqdm后台运行单行输出
时间: 2023-07-07 14:36:13 浏览: 194
python 解决tqdm模块不能单行显示的问题
你可以使用`tqdm`的`position`参数来实现单行输出,同时使用`sys.stdout.write()`和`sys.stdout.flush()`来避免换行。以下是一个示例代码:
```python
import time
import sys
from tqdm import tqdm
# 设置tqdm位置为0,即第一行
pbar = tqdm(total=100, position=0, leave=True)
for i in range(100):
# 更新进度条
pbar.update(1)
# 模拟耗时操作
time.sleep(0.1)
# 移动光标到第一行
sys.stdout.write('\033[1A')
# 清空第一行
sys.stdout.write('\033[K')
# 输出当前进度
sys.stdout.write(f'Progress: {pbar.n}/{pbar.total}\r')
# 刷新输出缓冲区
sys.stdout.flush()
# 关闭进度条
pbar.close()
```
这段代码会在终端单独一行输出进度条信息,不会干扰其他输出。
阅读全文