我正在做一个进度指示器对于一些长时间运行控制台程序意图使用这样的:这是一个上下文管理器的有效用例吗?
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
处理循环中可能发生的任何异常
这是一个上下文管理器的有效用例吗?你可以建议什么其他解决方案?