有没有办法获得最后一次迭代,使用 Python 的 tqdm 模块,以防失败,例如异常?我在文档或谷歌上没有找到任何东西。
我想获得最后一次迭代,这样我就可以从发生异常的地方重新开始循环(在我的情况下是超时错误)。
我虽然是这样的:
def loop_and_call_external_service(list, start_at=0):
if start_at > 0:
# cut the list using start_at index
for i in tqdm(list):
call_a_service_that_might_timeout(list.id)
retry_attempts = 0
try:
loop_and_call_external_service(list, 0)
except SomeService.TimeoutException:
if retry_attempts <= 3:
retry_attempts += 1
last_index = tqdm._last_iteration_pointer
loop_and_call_external_service(list, last_index)
else:
exit()
exception AnythingElse:
exit()
- 不是真正的代码,只是为了让你们理解我想要做什么。