2016-05-07 32 views
3

我有一些Django管理命令調用其他類中的方法從API中獲取數據。這些任務可能需要很長時間才能完成,我想以簡明的方式在控制檯中顯示進度。從Django管理命令顯示任務進度

我可以用print()輸出像「端來一22 3000」寫入了本身,使用類似一行:

print('Fetched %d of %d' % (n, total) + ' '*30, end='\r') 

但使用print()似乎有點討厭,它的輸出獲取到控制檯運行測試時。所以最好使用logging,但我看不到用這種方式在控制檯中顯示一個不斷更新的「進度」行的方法。

有沒有一種很好的方法來做到這一點?

回答

4

也許tqdm是一個很有用的Python包。

+0

我以前沒有見過,而且你可能是對的。有一件事 - 我不知道如何在運行單元測試時禁用它的控制檯輸出。有任何想法嗎? –

+0

@PhilGyford你可以設置'disable = True'參數。 – gaborous