Python神奇小工具之進(jìn)度條tqdm

近期在做一些需要大量循環(huán)的工作要销,但是干循環(huán)還是不太好构回,畢竟程序一跑動(dòng)輒幾小時(shí)夏块,頁(yè)面一直不變疏咐,老實(shí)講有點(diǎn)慌。所以新學(xué)了一個(gè)進(jìn)度條tqdm給平平無(wú)奇的運(yùn)行頁(yè)面增添一分色彩

官方簡(jiǎn)述

tqdm means "progress" in Arabic (taqadum, ?????) and is an abbreviation for "I love you so much" in Spanish (te quiero demasiado).

浪漫起來(lái)了脐供。浑塞。

參數(shù)解釋

  • iterable: 可迭代,可以是一個(gè)函數(shù)政己、列表酌壕。。歇由。一般用range來(lái)計(jì)數(shù)卵牍。

Iterable to decorate with a progressbar. Leave blank to manually manage the updates.

  • desc: 描述,字符串

Prefix for the progressbar.

  • total: 總數(shù)沦泌,整型或浮點(diǎn)型

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: 完成后是否消失糊昙,布爾類型,比較奇怪的是false會(huì)消失

If [default: True], keeps all traces of the progressbar upon termination of iteration. If None, will leave only if position is 0.

  • file: IO谢谦,可以導(dǎo)出進(jìn)度信息

Specifies where to output the progress messages (default: sys.stderr). Uses file.write(str) and file.flush() methods. For encoding, see write_bytes.

  • ncols: 整個(gè)進(jìn)度條的寬度 ps.所有的释牺!所有的

The width of the entire output message.

ncols.png
  • mininterval: 最小刷新間隔

Minimum progress display update interval [default: 0.1] seconds.

  • maxinterval: 最大刷新間隔

Maximum progress display update interval [default: 10] seconds.

  • miniters: 最小迭代間隔,試下來(lái)和mininterval沒(méi)啥區(qū)別回挽,可能在復(fù)雜迭代的時(shí)候有區(qū)別

Minimum progress display update interval, in iterations.

  • ascii: 布爾類型没咙,用ASCII碼填充進(jìn)度條

If unspecified or False, use unicode (smooth blocks) to fill the meter. The fallback is to use ASCII characters " 123456789#".

ascii.png
  • disable: 布爾類型,把進(jìn)度條搞沒(méi)千劈。這不是脫褲子X(jué)X嗎

Whether to disable the entire progressbar wrapper [default: False]. If set to None, disable on non-TTY.

  • unit: 計(jì)數(shù)單位

String that will be used to define the unit of each iteration [default: it].

unit.png
  • unit_scale: 單位換算

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: 使進(jìn)度條寬高可調(diào)

If set, constantly alters ncols and nrows to the environment (allowing for window resizes) [default: False].

  • smoothing: 平滑移動(dòng)

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: 自定義樣式

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: 設(shè)置初始值祭刚,不從0開(kāi)始的時(shí)候用

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: 進(jìn)度條之前空幾行

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: 在進(jìn)度條之后顯示其他信息

Specify additional stats to display at the end of the bar. Calls set_postfix(**postfix) if possible (dict).

  • unit_divisor: 和unit_scale配合使用,單位除數(shù)

[default: 1000], ignored unless unit_scale is True.

  • write_bytes: bool, optional

If (default: None) and file is unspecified, bytes will be written in Python 2. If True will also write bytes. In all other cases will default to unicode.

  • lock_args: 刷新中間量

Passed to refresh for intermediate output (initialisation, iterating, and updating).

  • nrows: 高度

The screen height. If specified, hides nested bars outside this bound. If unspecified, attempts to use environment height. The fallback is 20.

  • colour: 進(jìn)度條顏色

Bar colour (e.g. 'green', '00ff00').

運(yùn)行方式

迭代

for i in tqdm(range(1,5),desc='processing',colour='CYAN'):
    time.sleep(1)

“手動(dòng)”

with tqdm(total=100, colour='GREEN') as pbar:
    for i in range(0,100):
        if i%3 == 0:
            pbar.update()
        else:
            time.sleep(0.1)
            continue
update.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末墙牌,一起剝皮案震驚了整個(gè)濱河市袁梗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌憔古,老刑警劉巖遮怜,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異鸿市,居然都是意外死亡锯梁,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)焰情,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)陌凳,“玉大人,你說(shuō)我怎么就攤上這事内舟『隙兀” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵验游,是天一觀的道長(zhǎng)充岛。 經(jīng)常有香客問(wèn)我保檐,道長(zhǎng),這世上最難降的妖魔是什么崔梗? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任夜只,我火速辦了婚禮,結(jié)果婚禮上蒜魄,老公的妹妹穿的比我還像新娘扔亥。我一直安慰自己,他們只是感情好谈为,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布旅挤。 她就那樣靜靜地躺著,像睡著了一般伞鲫。 火紅的嫁衣襯著肌膚如雪谦铃。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,144評(píng)論 1 285
  • 那天榔昔,我揣著相機(jī)與錄音驹闰,去河邊找鬼。 笑死撒会,一個(gè)胖子當(dāng)著我的面吹牛嘹朗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播诵肛,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼屹培,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了怔檩?” 一聲冷哼從身側(cè)響起褪秀,我...
    開(kāi)封第一講書(shū)人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎薛训,沒(méi)想到半個(gè)月后媒吗,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡乙埃,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年闸英,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片介袜。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡甫何,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出遇伞,到底是詐尸還是另有隱情辙喂,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站巍耗,受9級(jí)特大地震影響秋麸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜芍锦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望飞盆。 院中可真熱鬧娄琉,春花似錦、人聲如沸吓歇。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)城看。三九已至女气,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間测柠,已是汗流浹背炼鞠。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留轰胁,地道東北人谒主。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像赃阀,于是被迫代替她去往敵國(guó)和親霎肯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容