我tqdm
在 Python 3.6(Anaconda 3、Windows 10 x64、PyCharm IDE)中使用一个包(v4.19.5)进行循环,迭代次数超过 200K。它过于频繁地打印状态栏,因此我之前的历史记录在控制台中消失了。
有没有办法限制状态栏更新的频率?我似乎无法在网上或tqdm 网站上找到此解决方案。
目前,我的状态栏是这样打印的。理想情况下,我想设置百分比变化的上限。例如,更新频率不要超过每 1% 的更改/进度一次。
您可以使用我从源代码 https://github.com/tqdm/tqdm/blob/master/tqdm/_tqdm.py获得的miniters参数
tqdm.tqdm(iterable, miniters=int(223265/100))
接受的答案和引用的公共 API
tqdm.tqdm(iterable, miniters=int(223265/100))
是正确的,但代码位置已更改为此处` https://github.com/tqdm/tqdm/blob/master/tqdm/std.py#L873-L880
下面是miniters
选项的说明:
miniters : int or float, optional
Minimum progress display update interval, in iterations.
If 0 and `dynamic_miniters`, will automatically adjust to equal
`mininterval` (more CPU efficient, good for tight loops).
If > 0, will skip display of specified number of iterations.
Tweak this and `mininterval` to get very efficient loops.
If your progress is erratic with both fast and slow iterations
(network, skipping items, etc) you should set miniters=1.
mininterval
使用定义更新之间最小时间间隔的选项很方便。例如,要更新每次n_seconds
使用:
tqdm(iterable, mininterval=n_seconds)