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