tqdm 进度条

tqdm 是一个非常受欢迎的 Python 进度条库,它用于在长循环中显示进度信息。tqdm 的名字来源于阿拉伯语单词 “taqaddum”(تقدّم)意为“进步”或“进展”。这个库的设计非常简单且灵活,可以轻松集成到现有的 Python 代码中。以下是一些常见的使用方法:

  1. 基础用法(在 for 循环中):
    最简单的使用方式是将 tqdm 直接包裹在任何可迭代对象上。

    from tqdm import tqdm
    for i in tqdm(range(10000)):
        # 执行一些操作
    
  2. 在列表推导式中使用:
    tqdm 也可以用于列表推导式。

    from tqdm import tqdm
    results = [some_function(i) for i in tqdm(range(10000))]
    
  3. 与 Pandas 集成:
    tqdm 可以与 Pandas 数据框架结合使用,提供对 apply, groupby, merge 等操作的进度条。

    import pandas as pd
    from tqdm import tqdm
    tqdm.pandas()
    
    df = pd.DataFrame({'x': range(100)})
    df['y'] = df['x'].progress_apply(lambda x: x**2)
    
  4. 文件读写进度条:
    当读取或写入大文件时,可以使用 tqdm 来显示进度。

    from tqdm import tqdm
    
    with tqdm(total=file_size) as pbar:
        with open('file.txt', 'r') as f:
            for line in f:
                # 处理行
                pbar.update(len(line))
    
  5. 手动更新:
    在某些情况下,你可能需要手动控制进度条的更新。

    from tqdm import tqdm
    
    pbar = tqdm(total=100)
    for i in range(10):
        # 执行一些操作
        pbar.update(10)
    pbar.close()
    
  6. 在 Jupyter Notebook 中使用:
    tqdm 提供了一个特别的 tqdm_notebook 函数,适用于 Jupyter Notebook 或 Jupyter Lab。

    from tqdm.notebook import tqdm
    
    for i in tqdm(range(10000), desc="Processing"):
        # 执行一些操作
    
  7. 自定义样式:
    你可以自定义进度条的外观,如设置描述、进度条长度等。

    from tqdm import tqdm
    
    for i in tqdm(range(10000), desc='Progress', ncols=100, ascii=True):
        # 执行一些操作
    

这些是 tqdm 的一些常见用法,但它的功能远不止于此。通过阅读官方文档,你可以发现更多高级用法和定制选项。

posted @ 2024-01-09 22:47  X1OO  阅读(103)  评论(0)    收藏  举报