在递归目录树时,我正在使用tqdm。我不知道我将使用的路径数量,并且我不想在执行工作之前建立该列表,只是为了获得准确的总数,我宁愿它只是更新进度栏为它会持续下去。
我发现我可以很好地使用'reset(total = new_total)',但这也可以重置时间。有什么办法可以节省时间,但可以将总数设置为新的值?
答案 0 :(得分:2)
这是reset
包中的tqdm
函数定义:
def reset(self, total=None):
"""
Resets to 0 iterations for repeated use.
Consider combining with `leave=True`.
Parameters
----------
total : int, optional. Total to use for the new bar.
"""
self.last_print_n = self.n = 0
self.last_print_t = self.start_t = self._time()
if total is not None:
self.total = total
self.refresh()
您不需要更新self.last_print_t
和self.start_t
的值,而只是更新total
您应该执行以下操作,而不是调用t.reset(total=new_total)
:
t.total = new_total
t.refresh()
请确认以上各项是否符合您的要求。