• 好玩的Python库tqdm (转载)


    原文地址:

    https://blog.csdn.net/zejianli/article/details/77915751

    可以显示循环的进度条的库,再也不用担心不知道程序跑到哪里还要跑多久了

    tqdm()可以直接包裹iterable的对象

    from tqdm import tqdm,trange
    from time import sleep
    text = ""
    for char in tqdm(["a", "b", "c", "d"]):
        text = text + char
        sleep(0.1)

    trange(i)相当于tqdm(range(i))

    for i in trange(100):
        sleep(0.01)

    可以在循环外面预先定义tqdm的对象

    pbar = tqdm(["a", "b", "c", "d"])
    for char in pbar:
        pbar.set_description("Processing %s" % char)

    有两个参数比较有用,desc(str)和leave(bool)
    desc可以指定这个循环的的信息,以便区分。上面的set_description(str)和这个应该是一样的。
    leave则表示进度条跑完了之后是否继续保留

    for i in tqdm(range(10), desc='1st loop'):
        for j in trange(100, desc='2nd loop', leave=False):
            sleep(0.01)

    如果要在Jupyter Notebook上面使用,那么要把tqdm换成tqdm_notebook,trange换成tnrange

    
    
    from tqdm import tnrange, tqdm_notebook
    from time import sleep


    for i in tqdm_notebook(range(10), desc='1st loop'):
        for j in tnrange(100, desc='2nd loop', leave=False):
            sleep(0.01)

    如果在终端运行时需要在循环内打印点什么,就不能直接用print()了,而要用tqdm.write(str)

    在Jupyter Notebook里面没有这个问题,还能用print()。

    =======================================================

    另注(非原文内容):

    desc(str) 指定循环信息是比较好用的,如:

    from tqdm import trange, tqdm
    from time import sleep
    
    
    for i in tqdm(range(100), desc='1st loop'):
            sleep(1)

    实际操作中发现    desc(str)   比    set_description   好用。

  • 相关阅读:
    【回溯】数字排列问题
    Price List
    NanoApe Loves Sequence-待解决
    【回溯】n皇后问题
    安卓 学习之旅 入门
    mysql链接 显示 error: 'Access denied for user 'root'@'localhost' (using password: NO)'
    javaweb 实战_1
    java 插件安装
    leetcode 最长有效括号
    hdu 1074 Doing Homework
  • 原文地址:https://www.cnblogs.com/devilmaycry812839668/p/10203917.html
Copyright © 2020-2023  润新知