[英]How do I log tqdm console output to a file in Python?
我正在处理一项任务,该任务需要我将 tqdm 的控制台 output 记录到文件中。
使用以下代码段 tqdm 在控制台中显示进度条。
import time
from tqdm import tqdm
for x in tqdm(range(10)):
time.sleep(.5)
我使用file
参数将 output 记录到这样的文件中:
import time
from tqdm import tqdm
for x in tqdm(range(10), file = open('/tmp/temp_log.log', 'w')):
time.sleep(.5)
并且我能够实现我预期的 output。 但是,当我使用file
参数时, tqdm
不会将任何进度条打印到控制台。
如何在将 output 同时记录到文件时将进度条打印到控制台?
我尝试使用tqdm-logger
模块,但它只记录最终进度条,而不是记录所有进度条
经过数小时的头脑风暴,我找到了解决这个问题的聪明方法:
要显示tqdm
控制台 output,请将现有 tqdm object(记录器)与另一个tqdm
object 包装起来,如下所示:
import time
from tqdm import tqdm
for x in tqdm(
tqdm(range(10), file = open('/tmp/temp_log.log', 'w')),
desc = 'TQDM Console'):
time.sleep(.5)
该片段现在记录并输出相同的柱和时间。
尝试手动更新栏。
pbar = tqdm(total = 10)
for x in tqdm(range(10), file = open('/tmp/temp_log.log', 'w')):
pbar.update(1)
time.sleep(.5)
该代码创建一个日志文件并显示该栏。 这就像使用第二个酒吧。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.