关于 Python 脚本执行时终端中进度条的显示存在许多现有问题,但每个问题都基于执行操作然后更新进度图形的循环。
不幸的是,我想显示其进度的函数——或者至少是一个显示它正在工作的微调器对象——是一个我不能(至少真的,真的不应该)改变的黑匣子。本质上,我想做的是:
#pseudocode input
print('Loading')
spinner.begin()
blackbox() #a few thousand operations happen in here
spinner.end()
print('Finished')
#pseudocode output
Loading.
Loading..
Loading...
Loading.
Loading..
Loading...
Finished
尽管理想情况下这将是省略号的动画,而不是打印多行。不过,在我开始构建愚蠢的 ascii 动画之前,有一个主要障碍:
有没有办法同时spinner
运行blackbox()
?或者,是否有一种技巧可以暂停blackbox()
,无论其内容如何,每隔几百毫秒更新微调器图形,然后从中断的地方继续?
我已经用进度模块尝试过这个,但没有运气......我什至无法让示例代码工作,它在我开始迭代后就挂了,直到我 Ctrl+C 退出。