我正在做一個進度指示器對於一些長時間運行控制檯程序意圖使用這樣的:這是一個上下文管理器的有效用例嗎?
pi = ProgressIndicator()
for x in somelongstuff:
do stuff
pi.update()
pi.print_totals()
基本上,它應該輸出某種與點和線的進度條,以及類似結尾處理「234234個字節」。
我認爲這將是很好的把它作爲一個上下文管理器:
with ProgressIndicator() as pi:
for x in somelongstuff:
do stuff
pi.update()
但是有一些關心我,這個解決方案的幾件事情:
- 的縮進使得指示器功能似乎比實際上更重要
- 我不希望
ProgressIndicator
處理循環中可能發生的任何異常
這是一個上下文管理器的有效用例嗎?你可以建議什麼其他解決方案?