我正在使用 tqdm 在 Python 控制台应用程序中显示各种进度条。对于应用程序的生产部署,我使用 Docker。
当在终端上运行 Python 应用程序时,进度条正常工作。然而,当 Docker 化并通过
我想修改我的
如何将此自定义行为附加到
当在终端上运行 Python 应用程序时,进度条正常工作。然而,当 Docker 化并通过
docker logs
访问终端输出时,进度条不起作用,因为据我所知它不是交互式终端。尽管看起来进度条完成后会呈现进度,但不确定是否有其他条件(如输出缓冲)。我想修改我的
tqdm
行为,使其:
- 检测是否在非交互式 Docker 环境中运行
- 不显示交互式进度条,而是定期记录完成语句(10% 完成,X 次/秒)
如何将此自定义行为附加到
tqdm
中?
tqdm
本身;我认为你应该修改你的代码,这样如果它在终端上运行,就使用tqdm
,如果它不在终端上运行,你只需记录普通文本消息。 - larskstqdm
已经通过auto
导入为Jupyter笔记本提供了特殊的行为。我不认为这会有什么不同。 - Mikko Ohtamaa