电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

python實現進度條的多種實現

瀏覽:8日期:2022-06-20 17:28:04

有時候在使用Python處理比較耗時操作的時候,為了便于觀察處理進度,這時候就需要通過進度條將處理情況進行可視化展示,以便我們能夠及時了解情況。這對于第三方庫非常豐富的Python來說,想要實現這一功能并不是什么難事。

tqdm就能非常完美的支持和解決這些問題,可以實時輸出處理進度而且占用的CPU資源非常少,支持循環處理、多進程、遞歸處理、還可以結合linux的命令來查看處理情況,等進度展示。

tqdm在阿拉伯語中的意思是“進展”,是python中一個快速、擴展性強的進度條工具庫,能讓我們了解代碼的運行進度,也能讓我們的運行結果看起來顯得更加美觀而又高大上!!

先來看一下進度條的效果。

示例代碼:

from tqdm import tqdm for i in tqdm(range(int(9e7))): pass

運行結果:

python實現進度條的多種實現

python實現進度條的多種實現

可以看到,當我們的代碼的運行需要較長時間時,進度條可以很好的幫助我們了解整個代碼的運行進度。

一、tqdm相關操作 1、迭代對象處理

對于可以迭代的對象都可以使用下面這種方式,來實現可視化進度,非常方便。

示例代碼:

import timefrom tqdm import tqdm for i in tqdm(range(100)): time.sleep(0.1) pass

運行結果:

python實現進度條的多種實現

2、觀察處理的數據

通過tqdm提供的set_description方法可以實時查看每次處理的數據。

示例代碼:

import timefrom tqdm import tqdm pbar = tqdm(['A', 'B', 'C', 'D', 'E', 'F'])for i in pbar: time.sleep(1) pbar.set_description('Processing %s' % i)

運行結果:

python實現進度條的多種實現

3、pandas中使用tqdm

在pandas中對大量數據進行相關操作或者遍歷表格的行列時,我們可以使用tqdm來了解代碼運行情況。

示例代碼:

import timeimport pandas as pdfrom tqdm import tqdm df = pd.DataFrame({ ’Month’: [1, 2, 3, 4, 5, 2, 3, 4, 5, 1, 2, 3, 4], ’Name’: [’張三’, ’張三’, ’張三’, ’張三’, ’張三’, ’李四’, ’李四’, ’李四’, ’李四’, ’王五’, ’王五’, ’王五’, ’王五’], ’Sex’: [’男’, ’男’, ’女’, ’女’, ’女’, ’男’, ’男’, ’男’, ’男’, ’女’, ’女’, ’女’, ’女’]})for i in tqdm([’Month’, ’Name’, ’Sex’]): time.sleep(2) pass

運行結果:

python實現進度條的多種實現

4、多進程進度條

在使用多進程或者嵌套循環處理任務的時候,我們通過tqdm可以實時查看每一個進程任務的處理情況

示例代碼:

import timefrom tqdm import tqdm for i in tqdm(range(5), ascii=False, desc='1st process'): # ascii = True 時為## for j in tqdm(range(5), ascii=True, desc='2st process'):time.sleep(0.1)

運行結果:

python實現進度條的多種實現

5、自定義進度條顯示信息

通過update方法可以控制每次進度條更新的進度。

示例代碼1:

import timefrom tqdm import tqdm # total參數設置進度條的總長度為100with tqdm(total=100) as pbar: for i in range(100):time.sleep(0.1)# 每次更新進度條的長度為1pbar.update(1)

運行結果:

python實現進度條的多種實現

示例代碼2:

import timefrom tqdm import tqdm # total參數設置進度條的總長度為500with tqdm(total=500) as pbar: for i in range(100):time.sleep(0.1)# 每次更新進度條的長度為3pbar.update(3)

運行結果:

python實現進度條的多種實現

除了上述方法之外,我們還能通過另外一種方法來實現操作。

示例代碼3:

import timefrom tqdm import tqdm # total參數設置進度條的總長度為100pbar = tqdm(total=100)for i in range(100): time.sleep(0.1) # 每次更新進度條的長度為1 pbar.update(1)# 關閉占用的資源pbar.close()

運行結果:

python實現進度條的多種實現

另外,我們還能通過set_description和set_postfix方法設置進度條顯示信息。

示例代碼:

import timefrom tqdm import trangefrom random import random, randint with trange(100) as t: for i in t:# 設置進度條左邊顯示的信息# 注意:代碼中的GEN是可以手動換成其它內容的t.set_description('GEN %i' % i)# 設置進度條右邊顯示的信息# 注意:此處代碼中的gen lr lst是可以手動換成其它內容的t.set_postfix(loss=random(), gen=randint(1, 999), lr='h', lst=[1, 2])time.sleep(0.1)

運行結果:

python實現進度條的多種實現

令人震驚的是,當我們將進度條顯示的信息設置為中文時,竟然不會出現亂碼!!??!

示例代碼:

import timefrom tqdm import trangefrom random import random, randint with trange(100) as t: for i in t:# 設置進度條左邊顯示的信息# 注意:代碼中的GEN是可以手動換成其它內容的t.set_description('進度 %i' % i)# 設置進度條右邊顯示的信息# 注意:此處代碼中的gen lr lst是可以手動換成其它內容的t.set_postfix(損失=random(), 隨機=randint(1, 999), 名字='h', 列表=[1, 2])time.sleep(0.1)

運行結果:

python實現進度條的多種實現

6.tqdm(range(n))替換為trange(n)

我們在使用tqdm的時候,可以將tqdm(range(n))替換為trange(n),讓你的代碼看起來更加簡潔而又高大上!

示例代碼:

from tqdm import trangeimport time for i in trange(100): time.sleep(0.1) pass

運行結果:

python實現進度條的多種實現

7.在jupyter notebook中使用進度條tqdm:

示例代碼1:

import timefrom tqdm import tqdmfor i in tqdm(range(100)): print('I’m tqdm!', end=’ ’) time.sleep(0.1)

運行結果:

python實現進度條的多種實現

示例代碼2:

import timefrom tqdm import tqdm_notebook for i in tqdm_notebook(range(100), desc='demo'): time.sleep(0.1) print('I’m tqdm_notebook!', end=’ ’)

運行結果:

python實現進度條的多種實現

到此這篇關于python實現進度條的多種實現的文章就介紹到這了,更多相關python 進度條內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 手持式浮游菌采样器-全排二级生物安全柜-浙江孚夏医疗科技有限公司 | 微型实验室真空泵-无油干式真空泵-微型涡旋耐腐蚀压缩机-思科涡旋科技(杭州)有限公司 | 超声波焊接机_超音波熔接机_超声波塑焊机十大品牌_塑料超声波焊接设备厂家 | 安全,主动,被动,柔性,山体滑坡,sns,钢丝绳,边坡,防护网,护栏网,围栏,栏杆,栅栏,厂家 - 护栏网防护网生产厂家 | 游泳池设备安装工程_恒温泳池设备_儿童游泳池设备厂家_游泳池水处理设备-东莞市君达泳池设备有限公司 | 节流截止放空阀-不锈钢阀门-气动|电动截止阀-鸿华阀门有限公司 | 中视电广_短视频拍摄_短视频推广_短视频代运营_宣传片拍摄_影视广告制作_中视电广 | 回转窑-水泥|石灰|冶金-巩义市瑞光金属制品有限责任公司 | 北钻固控设备|石油钻采设备-石油固控设备厂家 | 杰恒蠕动泵-蠕动泵专业厂家-19年专注蠕动泵 | 电伴热系统施工_仪表电伴热保温箱厂家_沃安电伴热管缆工业技术(济南)有限公司 | PSI渗透压仪,TPS酸度计,美国CHAI PCR仪,渗透压仪厂家_价格,微生物快速检测仪-华泰和合(北京)商贸有限公司 | 济南品牌设计-济南品牌策划-即合品牌策划设计-山东即合官网 | 济南拼接屏_山东液晶拼接屏_济南LED显示屏—维康国际官网 | 探伤仪,漆膜厚度测试仪,轮胎花纹深度尺厂家-淄博创宇电子 | 江苏皓越真空设备有限公司| 气动|电动调节阀|球阀|蝶阀-自力式调节阀-上海渠工阀门管道工程有限公司 | 断桥铝破碎机_发动机破碎机_杂铝破碎机厂家价格-皓星机械 | 机制砂选粉机_砂石选粉机厂家-盐城市助成粉磨科技有限公司 | 水热合成反应釜-防爆高压消解罐-西安常仪仪器设备有限公司 | 罐体电伴热工程-消防管道电伴热带厂家-山东沃安电气 | 口臭的治疗方法,口臭怎么办,怎么除口臭,口臭的原因-口臭治疗网 | 液氮罐_液氮容器_自增压液氮罐_杜瓦瓶_班德液氮罐厂家 | 橡胶接头_橡胶软接头_套管伸缩器_管道伸缩器厂家-巩义市远大供水材料有限公司 | 工业铝型材-铝合金电机壳-铝排-气动执行器-山东永恒能源集团有限公司 | 正压送风机-多叶送风口-板式排烟口-德州志诺通风设备 | 壹车网 | 第一时间提供新车_资讯_报价_图片_排行! | 铝镁锰板厂家_进口钛锌板_铝镁锰波浪板_铝镁锰墙面板_铝镁锰屋面-杭州军晟金属建筑材料 | 电机保护器-电动机综合保护器-浙江开民 | 污水提升器,污水提升泵,地下室排水,增压泵,雨水泵,智能供排水控制器-上海智流泵业有限公司 | 分类168信息网 - 分类信息网 免费发布与查询 | 锂离子电池厂家-山东中信迪生电源 | 日本东丽膜_反渗透膜_RO膜价格_超滤膜_纳滤膜-北京东丽阳光官网 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 亮点云建站-网站建设制作平台 | 学考网学历中心| 无线对讲-无线对讲系统解决方案-重庆畅博通信 | 煤矿支护网片_矿用勾花菱形网_缝管式_管缝式锚杆-邯郸市永年区志涛工矿配件有限公司 | 成都办公室装修-办公室设计-写字楼装修设计-厂房装修-四川和信建筑装饰工程有限公司 | 无菌水质袋-NASCO食品无菌袋-Whirl-Pak无菌采样袋-深圳市慧普德贸易有限公司 | CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | 液压升降平台_剪叉式液压/导轨式升降机_传菜机定做「宁波日腾升降机厂家」 |