Python小知识:进度条库tqdm


发现一个比较不错的python库,使用起来能直观显示,挺有趣,这里记录一下
tqdm git地址

使用时主要有两种运行模式:

手动控制更新
import time
from tqdm import tqdm
with tqdm(total=100) as pbar:
    pbar.set_description('Processing')
    for i in range(10):
        time.sleep(0.05)
        pbar.update(10)

# Processing: 100%|██████████| 100/100 [00:00<00:00, 160.27it/s]
基于可迭代对象的运行
import time
from tqdm import tqdm, trange

for i in trange(100):
    time.sleep(0.05)

# 100%|██████████| 100/100 [00:06<00:00, 16.10it/s]

for i in tqdm(range(100), desc="Processing"):
    time.sleep(0.05)

# Processing: 100%|██████████| 100/100 [00:06<00:00, 16.08it/s]

list = [1,2,3,4,5,6,7,8]
pbar = tqdm(list)
for i in pbar:
    pbar.set_description('processing: {}'.format(i))
    time.sleep(0.05)

# processing: 8: 100%|██████████| 8/8 [00:00<00:00, 16.14it/s]

tqdm模块参数解释

    def __init__(self, iterable=None, desc=None, total=None, leave=True, file=None,
                ncols=None, mininterval=0.1, maxinterval=10.0, miniters=None,
                ascii=None, disable=False, unit='it', unit_scale=False,
                dynamic_ncols=False, smoothing=0.3, bar_format=None, initial=0,
                position=None, postfix=None, unit_divisor=1000, write_bytes=False,
                lock_args=None, nrows=None, colour=None, delay=0, gui=False,
                **kwargs):
       """
       Parameters
       ----------
       iterable  : iterable, optional
           Iterable to decorate with a progressbar.
           Leave blank to manually manage the updates.
       desc  : str, optional
           Prefix for the progressbar.
       total  : int or float, optional
           The number of expected iterations. If unspecified,
           len(iterable) is used if possible. If float("inf") or as a last
           resort, only basic progress statistics are displayed
           (no ETA, no progressbar).
           If `gui` is True and this parameter needs subsequent updating,
           specify an initial arbitrary large positive number,
           e.g. 9e9.
       leave  : bool, optional
           If [default: True], keeps all traces of the progressbar
           upon termination of iteration.
           If `None`, will leave only if `position` is `0`.
       file  : `io.TextIOWrapper` or `io.StringIO`, optional
           Specifies where to output the progress messages
           (default: sys.stderr). Uses `file.write(str)` and `file.flush()`
           methods.  For encoding, see `write_bytes`.
       ncols  : int, optional
           The width of the entire output message. If specified,
           dynamically resizes the progressbar to stay within this bound.
           If unspecified, attempts to use environment width. The
           fallback is a meter width of 10 and no limit for the counter and
           statistics. If 0, will not print any meter (only stats).
       mininterval  : float, optional
           Minimum progress display update interval [default: 0.1] seconds.
       maxinterval  : float, optional
           Maximum progress display update interval [default: 10] seconds.
           Automatically adjusts `miniters` to correspond to `mininterval`
           after long display update lag. Only works if `dynamic_miniters`
           or monitor thread is enabled.
       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.
       ascii  : bool or str, optional
           If unspecified or False, use unicode (smooth blocks) to fill
           the meter. The fallback is to use ASCII characters " 123456789#".
       disable  : bool, optional
           Whether to disable the entire progressbar wrapper
           [default: False]. If set to None, disable on non-TTY.
       unit  : str, optional
           String that will be used to define the unit of each iteration
           [default: it].
       unit_scale  : bool or int or float, optional
           If 1 or True, the number of iterations will be reduced/scaled
           automatically and a metric prefix following the
           International System of Units standard will be added
           (kilo, mega, etc.) [default: False]. If any other non-zero
           number, will scale `total` and `n`.
       dynamic_ncols  : bool, optional
           If set, constantly alters `ncols` and `nrows` to the
           environment (allowing for window resizes) [default: False].
       smoothing  : float, optional
           Exponential moving average smoothing factor for speed estimates
           (ignored in GUI mode). Ranges from 0 (average speed) to 1
           (current/instantaneous speed) [default: 0.3].
       bar_format  : str, optional
           Specify a custom bar string formatting. May impact performance.
           [default: '{l_bar}{bar}{r_bar}'], where
           l_bar='{desc}: {percentage:3.0f}%|' and
           r_bar='| {n_fmt}/{total_fmt} [{elapsed}<{remaining}, '
             '{rate_fmt}{postfix}]'
           Possible vars: l_bar, bar, r_bar, n, n_fmt, total, total_fmt,
             percentage, elapsed, elapsed_s, ncols, nrows, desc, unit,
             rate, rate_fmt, rate_noinv, rate_noinv_fmt,
             rate_inv, rate_inv_fmt, postfix, unit_divisor,
             remaining, remaining_s, eta.
           Note that a trailing ": " is automatically removed after {desc}
           if the latter is empty.
       initial  : int or float, optional
           The initial counter value. Useful when restarting a progress
           bar [default: 0]. If using float, consider specifying `{n:.3f}`
           or similar in `bar_format`, or specifying `unit_scale`.
       position  : int, optional
           Specify the line offset to print this bar (starting from 0)
           Automatic if unspecified.
           Useful to manage multiple bars at once (eg, from threads).
       postfix  : dict or *, optional
           Specify additional stats to display at the end of the bar.
           Calls `set_postfix(**postfix)` if possible (dict).
       unit_divisor  : float, optional
           [default: 1000], ignored unless `unit_scale` is True.
       write_bytes  : bool, optional
           Whether to write bytes. If (default: False) will write unicode.
       lock_args  : tuple, optional
           Passed to `refresh` for intermediate output
           (initialisation, iterating, and updating).
       nrows  : int, optional
           The screen height. If specified, hides nested bars outside this
           bound. If unspecified, attempts to use environment height.
           The fallback is 20.
       colour  : str, optional
           Bar colour (e.g. 'green', '#00ff00').
       delay  : float, optional
           Don't display until [default: 0] seconds have elapsed.
       gui  : bool, optional
           WARNING: internal parameter - do not use.
           Use tqdm.gui.tqdm(...) instead. If set, will attempt to use
           matplotlib animations for a graphical output [default: False].

       Returns
       -------
       out  : decorated iterator.
       """

同时这个库也可以支持颜色的修改,有兴趣可以研究一下。哈哈

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值