我有一个需要很长时间才能运行的方法。没有迭代可以使用任何进度条,如tqdm
。在运行时,我希望它显示一些进度图形所经过的时间(类似于Unix / Linux系统中的软件包安装程序与旋转/
或某些图形...
)。在以下虚拟代码中
from time import sleep
def longTimetakingmethod():
sleep(3600)
showgraphictime()
longTimetakingmethod()
showgraphictime()
方法应该显示类似
Calculating.../ Time elapsed: 00 hrs:15 mins:05 s
有没有一种简单的方法可以实现showgraphictime()
?
或者它必须是像showrunningupdate(longTimetakingmethod())
from time import sleep
def longTimetakingmethod():
sleep(3600)
showrunningupdate(longTimetakingmethod())
答案 0 :(得分:1)
此库可能对您有用:Beautiful terminal spinners in Python
示例:
from halo import Halo
from time import sleep
def rocket_launch():
spinner = Halo({'spinner': 'shark'})
spinner.start()
for c in range(10, 0, -1):
spinner.text = 'Launching in {} seconds'.format(c)
sleep(1)
spinner.succeed('Rocket launched')
rocket_launch()
答案 1 :(得分:0)
您可以使用Timeit模块来映射该时间和其中一个微调器所用的时间,如@pbacterio所示