首页 > 编程语言 >Python 进度条tqdm

Python 进度条tqdm

时间:2024-07-08 10:21:41浏览次数:14  
标签:tqdm 进度条 Python items time import 100

 在编写Python脚本时,尤其是那些需要处理大量数据或者执行耗时操作的脚本,监控任务进度是非常重要。

tqdm的安装

pip install tqdm -i https://pypi.tuna.tsinghua.edu.cn/simple/

  

基本用法

from tqdm import tqdm
import time

for i in tqdm(range(100)):
    time.sleep(0.1)  # 模拟一些耗时操作

  我们使用tqdm(range(100))替代了普通的range(100),这会在循环执行时显示一个进度条。

 

自定义进度条

tqdm 允许我们自定义进度条的许多属性,例如描述文字、进度条格式等:

这个代码里添加了desc参数来设置进度条的描述,ncols参数来设置进度条的宽度,ascii参数来使用ASCII字符显示进度条。

from tqdm import tqdm
import time

for i in tqdm(range(100), desc="进度条描述信息", ncols=100, ascii=True):
    time.sleep(0.1)

  

 

在函数中使用tqdm

可以在任何可迭代对象前使用tqdm,例如列表、生成器等:

 
from tqdm import tqdm
import time


def process_items(items):
    for _ in tqdm(items, desc="进度条描述信息"):
        time.sleep(0.1) 


items = list(range(100))
process_items(items)

  

 

高级用法

tqdm 还支持嵌套进度条、在多线程和多进程环境中使用等高级功能。

嵌套进度条

当有多重嵌套循环时,可以使用tqdm的嵌套进度条:

from tqdm import tqdm
import time

for i in tqdm(range(3), desc="一层循环进度条描述信息"):
    for j in tqdm(range(100), desc="二层循环进度条描述信息", leave=False):
        time.sleep(0.01)

  

多线程和多进程

tqdm 可以与多线程和多进程一起使用,通过ThreadPoolProcessPool

from tqdm import tqdm
from concurrent.futures import ThreadPoolExecutor
import time

def process_item(item):
    time.sleep(0.1)
    return item


items = list(range(100))

with ThreadPoolExecutor(max_workers=4) as executor:
    list(tqdm(executor.map(process_item, items), total=len(items))) 

标签:tqdm,进度条,Python,items,time,import,100
From: https://www.cnblogs.com/pywen/p/18289380

相关文章

  • SSM-企业人事信息管理系统-98194(免费领源码)可做计算机毕业设计JAVA、PHP、爬虫、APP、
    企业人事信息管理系统的设计与实现摘 要由于数据库和数据仓库技术的快速发展,企业人事信息管理系统建设越来越向模块化、智能化、自我服务和管理科学化的方向发展。人事管理系统对处理对象和服务对象,自身的系统结构,处理能力,都将适应技术发展的要求发生重大的变化。企业人事......
  • R包:reticulate R对python的接口包
    介绍1R和python是两种不同的编程语言,前者是统计学家发明并且服务数学统计计算,后者则是最万能的胶水语言。随着大数据时代的到来,两者在数据分析领域存在越来越多的共同点且可以相互使用,为了破解二者的编程壁垒,CRAN收录了具有R接口的python包,从而使得两类语言的数据能共同使......
  • [oeasy]python024_vim读取文件_从头复制到尾_撤销_重做_reg_寄存器
    Guido的简历......
  • python+flask计算机毕业设计高校学生实习信息管理(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着高等教育的普及与深化,高校学生实习已成为连接理论与实践、校园与社会的关键桥梁。然而,传统的实习信息管理方式往往依赖于纸质文档或简......
  • python随笔day03
    python面试基础问题lambda表达式基本语法:变量=lambda[参数列表]:表达式(函数代码+返回值)#调用变量()例子如下:#加法求和函数a=lambdaa,b:a+bprint(a(1,2))#3#args元组类型b=lambda*args:argsprint(b('a','b','c','d',10))#('a','b&......
  • Python网络爬虫:Scrapy框架的全面解析
    Python网络爬虫:Scrapy框架的全面解析一、引言        在当今互联网的时代,数据是最重要的资源之一。为了获取这些数据,我们经常需要编写网络爬虫来从各种网站上抓取信息。Python作为一种强大的编程语言,拥有许多用于网络爬虫的工具和库。其中,Scrapy是一个功能强大且灵......
  • CentOS版Linux安装python
    在CentOS系统上安装Python3.8可以通过以下步骤完成:首先,打开终端。下载Python3.8的源代码:wget  https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz解压下载的源码包:cd到Python-3.8.0.tgz的目录tarxzvfPython-3.8.0.tgz安装必要的构建工具和依赖项:sudoyu......
  • 【Playwright+Python】系列教程(四)Pytest 插件在Playwright中的使用
    一、命令行使用详解使用Pytest插件在Playwright中来编写端到端的测试。1、命令行执行测试pytest--browserwebkit--headed2、使用pytest.ini文件配置内容如下:[pytest]#RunfirefoxwithUIaddopts=--headed--browserfirefox效果:运行测试类,可以直接可以按照......
  • python 版本对比图片
    importcv2importnumpyasnpimportosdefcalculate_black_pixels_in_sectors(image,sector):#将图像转换为二值图像_,image=cv2.threshold(image,127,255,cv2.THRESH_BINARY_INV)#获取图像尺寸height,width=image.shape#计......
  • 数学建模——层次分析法 AHP(Python代码)
    层次分析法    层次分析法是由美国运筹学家、匹兹堡大学教授T.L.Saaty于20世纪70年代创立的一种系统分析与决策的综合评价方法,是在充分研究了人类思维过程的基础上提出来的,它较合理地解决了定性问题定量化的处理过程。    AHP的主要特点是通过建立递阶层次结......