簡體   English   中英

如何將 tqdm 控制台 output 記錄到 Python 中的文件中?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM